[SpringBoot]

JPA update 할 때 save 안해도 되는 이유

Hevton 2023. 3. 25. 21:24
반응형

 

JPA는 transactional 범위 내에서 자동으로 dirty checking을 한다.

그래서 이렇게 update 할 때에는 save를 명시적으로 해주지 않아도 된다.

(안드로이드 Room도 이러한지 궁금하네 -> 그런건 없는 듯 하다)

 

이런 코드를 볼 때가 있다.

 

새로 Insert할 때에는 save를 명시적으로 해주어야 하겠지만

update할 때에는 transactional 범위 안에서 save를 안해줘도 된다.

 

 

 

 

참고

https://jaehoney.tistory.com/273

 

JPA - Update(수정) 시 save() 메서드를 호출하는 것이 좋을까?

JPA를 사용하면 트랜잭션 범위 안에서 Dirty Checking이 동작한다. 따라서 save() 메서드를 호출하지 않아도 값이 알아서 수정되고 반영된다. 그렇다면 save()를 호출하는 것이랑 어떤 차이가 있는 지 알

jaehoney.tistory.com

 

반응형