JPA3 Hibernate(JPA) 영속성 (persistence) Hibernate(JPA) 영속성 (persistence) JPA/ Hibernate 를 사용할때 대부분 생명주기를 모른상태에서 개발을 하다보면 실수? 혹은 왜 이렇게 되지 하는 경우를 겪게 된다. 알고 있더라도 왜이러지 이럴때가 있다! 어? 왜이렇게 동작하지 하고 말이다. 1. Entity life sycle (엔티티생명주기) 비영속(new/transient) 영속성 컨텍스트와 전혀 관련이 없는 상태 영속 (managed) 영속성 컨덱스트에 저장된 상태 준영속 (detached) 영속성 컨텍스트에 저장되었다가 분리된 상태 삭제(removed) 삭제된상태 1.1 비영속성(new) 앞서 이야기 했듯이 영속성 컨텍스트와 전혀 관련이 없는 상태로 엔티티를 새로 생성한 단계이다. MemberEntity memb.. 2022. 4. 22. JPA Entity 상속 관계 만들기 ,@MappedSuperclass @MappedSuperclass 이용한 상속 JPA Entity 에서 상속관계를 만들기 위해서는 @MappedSuperclass 를 사용하여 상속 관계를 정의 할 수 있다. 최상위 Class로 Employee 를 생성하고, 해당 Class를 상속 받아 관계를 정의할 수 있다. 예제 ) @MappedSuperclass public class Employee { @Id protected Integer empId; @Version protected Integer version; @ManyToOne @JoinColumn(name="ADDR") protected Address address; public Integer getEmpId() { ... } public void setEmpId(Integer id) {.. 2021. 5. 25. @OneToOne 양방향 매핑 주키(PK)공유 @OneToOne 양방향 매핑 주키(PK)공유 두테이블에서 같은 키를 PK로 이용한다. A -> PK -> B -> FK,PK *부모객체메인객체 @OneToOne 선언영속상태 정의부모객체에 양방향 매핑의 mappedBy를 설정하여 외례키 컬럼이 생성되지 않도록 한다. @Entity@JsonIgnoreProperties(ignoreUnknown = true)public class Users implements Serializable { @Id private String email; @OneToOne(mappedBy = "users" , cascade = { CascadeType.PERSIST ,CascadeType.MERGE , CascadeType.REMOVE // 사용자 삭제시 FCM Key 함께 삭제.. 2017. 9. 27. 이전 1 다음 728x90