merge

Spring

[JPA] persist와 merge 이해(차이)

이 포스트는 스프링 스터디에서 영속성을 이야기하던 도중 “준영속 상태인 엔티티를 persist()해도 정상 동작하던데 merge() 대신에 사용해도 ㄱㅊ?”에서 시작됐다. 그래서 스터디 끝나고 새벽까지 혼자 개념 공부 다시 하면서 삽질한 결과, 문제가 발생한다! ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 책 3장을 공부한 후 대화를 나눈 거였는데 그 답이 15장에 있었다 하하. 삽질한 덕분에 영속성에 대해 깊게 이해하게 됐다. 문제가 되는 이유는 아래와 같다. persist()를 실행하고 db 혹은 1차 캐시에 같은 entity가 존재하면 javax.persistence.EntityExistsException(언체크 예외이며 트랜잭션 롤백을 표시) 에러가 발생한다. (참고, 언체크 예외는 예외 처리가 필수가 아니다.) 이렇게 간..

JOYERIM
'merge' 태그의 글 목록