김영한 JPA2 [JPA] @MappedSuperclass 애노테이션 1. @MappedSuperclass @MappedSuperclass 애노테이션은 공통 매핑 정보가 필요할 때 사용합니다. 아래 테이블 경우뿐만 아니라 실무에서는 모든 곳에 등록자와 수정자, 등록일, 수정일이 들어가는데 이거를 공통으로 만들고 스프링 JPA를 사용하면 저장시에 자동으로 들어가게 할 수 있습니다. 2. @MappedSuperclass 특징 상속관계 매핑X 엔티티X, 테이블과 매핑X 부모 클래스를 상속 받는 자식 클래스에 매핑 정보만 제공 조회, 검색 불가(em.find(BaseEntity) 불가) 직접 생성해서 사용할 일이 없으므로 추상 클래스 권장 테이블과 관계 없고, 단순히 엔티티가 공통으로 사용하는 매핑 정보를 모으는 역할 주로 등록일, 수정일, 등록자, 수정자 같은 전체 엔티티에서 공.. 2020. 4. 19. [JPA] 상속 관계 매핑(고급매핑) 1. 상속 관계 매핑 객체는 상속관계가 있는데 관계형 데이터베이스에는 상속관계가 없습니다. 관계형 데이터베이스에는 슈퍼타입, 서브타입 관계라는 모델링 기법이 객체 상속과 유사합니다. 객체는 item이라는 추상타입을 만들고 저렇게 구체적으로 갈 수 있습니다. DB의 슈퍼타입 서브타입이라는 논리 모델링 기법을 어떤 3가지 방법으로 구현을 하든 다 매핑하도록 지원하는 것 입니다. 다음은 슈퍼타입 서브타입 논리 모델을 실제 물리 모델로 구현하는 3가지 방법입니다. 각각 테이블로 변환 -> 조인 전략 통합 테이블로 변환 -> 단일 테이블 전략 서브타입 테이블로 변환 -> 구현 클래스마다 테이블 전략 3가지 전략에 맞는 어노테이션과 다른 부가기능을 사용하기 위한 주요 어노테이션입니다. 부모 Entity의 @Inhe.. 2020. 4. 19. 이전 1 다음