[DB] 테이블을 설계하자! - 6

SeoYoung Jung·2022년 3월 19일
0

DataBase

목록 보기
6/6

Superclass

부모 클래스는 테이블과 매핑하지 않고 부모 클래스를 상속받는 자식 클래스에게 매핑 정보만 제공하고 싶으면 @MappedSuperclass를 사용하면 된다.

BaseEntity에는 객체들이 주로 사용하는 공통 매핑 정보 정의
자식 엔티티들은 상속을 통해 BaseEntity의 매핑 정보를 물려받음
BaseEntity는 테이블과 매핑할 필요가 없고 자식 엔티티에게 공통으로 사용되는 매핑 정보만 제공

@MappedSuperclass로 지정한 클래스는 엔티티가 아니므로 em.find()나 JPQL에서 사용할 수 없다.
이 클래스를 직접 생성해서 사용할 일은 거의 없으므로 추상 클래스로 만드는 것을 권장한다.

부모로부터 물려받은 매핑 정보를 재정의
=>@AttributeOverrides, @AttributeOverride

연관 관계를 재정의하려면
=> @AssociationOverrides나 @AssociationOverride.

profile
뚱땅뚱땅개발자

0개의 댓글