[JPA] 상속 관계 매핑

홍건의·2024년 6월 2일
0

JPA 학습

목록 보기
9/11

BaseEntity와 하위 Entity

@MappedSuperclass
public abstract class BaseEntity {
	@Id @GeneratedValue
    private Long id;
    
    private String name;
}

@Entity
public class Member extends BaseEntity {
	// ID 상속
    // Name 상속
}

BaseEntity는 테이블과 매핑되지 않고, 자식 Entity에게 공통으로 사용되는 매핑정보만 제공한다.

매핑 정보를 재정의하고 싶으면 클래스 레벨에 @AttributeOverrides@AttributeOverride를 사용한다.

연관관계를 재정의하려면 @AssociationOverrides@AssociationOverride를 사용한다.

@MappedSuperclass는 테이블과는 관계가 없고 단순히 엔티티가 공통으로 사용하는 매핑 정보를 모아주는 역할만 한다.

profile
Backend Developer

0개의 댓글

관련 채용 정보