[정리] 기능별 개념 정리/JPA
Persist vs Merge
kok202
2020. 2. 4. 01:20
Persist : create
Merge : update
JPA 에서 Save 는 경우에 따라 persist 또는 merge 를 호출하기도한다.
Detached 객체를 save 할 경우 Save 시 merge (= update)를 하게된다.
merge 의 결과로 update 쿼리가 발생한다.
MyClass myClassB = myRepository.save(myClassA);
myClassA 와 myClassB는 다른 객체이다.
myClassA = myRepository.save(myClassA);
습관적으로 JPA save 한 객체는 반환된 객체를 사용하는 것이 좋다.
Detached 객체
= 즉 한번이라도 영속화가 됬었을 법한 객체를 save 할 경우
= Id 가 있는 객체를 save 할 경우
https://www.youtube.com/watch?v=SavLrJfQ4Fs