JPA

JPA 준영속성, 영속성, merge, 변경감지

meetyou 2023. 8. 7. 13:28

준영속성 엔티티 : 

- 영속성 컨텍스트가 관리하지 않는 객체

- 이전에 영속성 상태가 된적 있던 엔티티

 

영속성 엔티티 : 

- 생성한 객체가 영속성 컨텍스트에 저장되있는 상태

- DB에서 엔티티를 조회하여 영속성 컨텍스트에 의해 관리되어지는 상태

 

merge 

- 비영속, 준영속 상관없이 정상 작동한다.

- 그렇기 때문에 미처 값을 변경하지 못한 부분은 null 값으로 들어갈 수 있음

- 식별자(id) 값으로 엔티티를 조회하며, 값이 있을경우 병합하고 없을경우 새로 생성한다.

 

변경감지

- 엔티티 매니저를 통해 entity를 꺼낸 후 값을 수정하는 방식

- 커밋 시점에 알아서 변경감지를 통해 변경된 부분만 값이 변경된다.