kok202
Persist vs Merge

2020. 2. 4. 01:20[정리] 기능별 개념 정리/JPA

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