Programming/Spring

[Spring JPA] Entity lifecycle

주죵 2022. 4. 25. 22:36
728x90
반응형

4가지의 Entity lifecycle

 

1. 비영속상태 (new, transient)

transient 상태는 entity가 아닌 java object처럼 취급된다. 즉 영속성 컨텍스트에 의해 db와 연결되지 않은 객체들이 이해해당.

 

2. 영속상태(managed)

해당 entity가 영속성 컨텍스트 내에서 관리되는 경우.

 

 

3. 준영속상태(detached)

영속상태에 있던 entity를 비영속상태인 영역으로 꺼내버리는 경우. em의 detach, clear같은 메서드 호출하여 준영속상태로 만들 수 있음. detached된 준영속상태의 entity는 merge를 통해 다시 영속화 시킬수 있음

 

4. 삭제상태(removed)

말그대로 삭제해버림.(delete쿼리) 영속성에서 삭제되므로 merge해도 다시 영속화되지 않는다. 

728x90