πŸ™Œμž˜λͺ»λœ μ„€λͺ…에 λŒ€ν•œ μ§€μ μ΄λ‚˜ μ‘°μ–Έμ˜ λŒ“κΈ€μ„ ν™˜μ˜ν•©λ‹ˆλ‹€πŸ™Œ

 

 

였λ₯˜λ¬Έκ΅¬

org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade

원인

μ‚­μ œλ‚˜ μ—…λ°μ΄νŠΈ μ‹œ μˆ˜μ •λœ 데이터가 μ œλŒ€λ‘œ λ°˜μ˜λ˜μ§€ μ•Šμ€ μƒνƒœμ—μ„œ 또 변경을 μ‹œλ„ν•  λ–„ λ°œμƒν•˜λŠ” κ²ƒμœΌλ‘œ 보인닀.

데이터가 연관관계λ₯Ό κ°€μ§€λŠ” μƒν™©μ—μ„œ 원본 데이터λ₯Ό μˆ˜μ •ν•˜κ³  이λ₯Ό μ°Έμ‘°ν•˜λŠ” λ‹€λ₯Έ μ—”ν‹°ν‹°μ˜ μ»¬λŸΌμ„ λ³€κ²½ν•˜λ €κ³  μ‹œλ„ν• λ•Œ μœ„μ™€κ°™μ€ 였λ₯˜κ°€ λ°œμƒλλ‹€. 데이터 μˆ˜μ • μˆœμ„œλ₯Ό λ³€κ²½ν•˜κ±°λ‚˜ μ•„λž˜ ν•΄κ²°λ°©μ•ˆμ˜ μ˜΅μ…˜μ„ μΆ”κ°€ν•˜λŠ” κ²ƒμœΌλ‘œ 문제λ₯Ό ν•΄κ²° ν•  수 μžˆλ‹€.

ν•΄κ²°λ°©μ•ˆ

1. 엔티티에 orphanRemoval=true μΆ”κ°€

이 μ˜΅μ…˜μ€ μ‚­μ œ λ“±μ˜ μž‘μ—…μ„ 톡해 joinColumnν•œ PKκ°€ NULL μƒνƒœλ‘œ λ³€κ²½λœ 경우 ν•΄λ‹Ή 객체λ₯Ό DELETE ν•΄μ€€λ‹€.

 

2. Cascade μ˜΅μ…˜ μ‚­μ œ

이미 μ‚­μ œν•œ μ½”λ“œλ₯Ό Cascade μ˜΅μ…˜μ΄ λΆ€μ—¬λœ μƒνƒœμ—μ„œ λ‹€μ‹œ μ°Έμ‘°ν•˜λŠ” 경우 ν•΄λ‹Ή 였λ₯˜κ°€ λ°œμƒν•  수 μžˆλ‹€.

λ”°λΌμ„œ Cascade μ˜΅μ…˜μ΄ λΆˆν•„μš”ν•˜λ‹€λ©΄ 이λ₯Ό μ‚­μ œν•˜λŠ” 것도 방법이 될 수 μžˆλ‹€. 

λ˜λŠ” μ½”λ“œμ˜ μˆœμ„œλ₯Ό μ μ ˆν•˜κ²Œ λ³€κ²½ν•˜λŠ” 것도 도움이 λœλ‹€.

 

참고자료

https://stackoverflow.com/questions/18358407/org-hibernate-objectdeletedexception-deleted-object-would-be-re-saved-by-cascad

 

org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations):

i am getting the above error "org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): ". could someone help me what might be the...

stackoverflow.com

https://dev-elop.tistory.com/entry/JPA-orphanRemoval-%EC%9A%A9%EB%8F%84

 

JPA orphanRemoval μš©λ„

@OneToMany(cascade = {CascadeType.ALL}, fetch = FetchType.EAGER, orphanRemoval = true) 보톡 1:N 관계 ν…Œμ΄λΈ” μ„€μ •ν• λ•Œ μ €λ ‡κ²Œ μ˜΅μ…˜μ„ μΆ”κ°€ν•΄μ€€λ‹€. μžμ‹ μ—”ν‹°ν‹°μ˜ 변경이 μžˆλ‹€λ©΄ JPA μ—μ„œ μžμ‹μ—”ν‹°ν‹°μ˜ μˆ˜μ •μ€ insert upda

dev-elop.tistory.com

 

+ Recent posts