Mapped Superclass - 매핑 정보 상속
Last updated
Last updated
비즈니스 요구사항 추가
생성된 날짜
생성자
마지막 수정 날짜
마지막 수정자 데이터 =>사실 생성일, 마지막 수정일은 직접 설정하지 않아도 JPA가 "이벤트" 기능으로 자동 생성해준다.
모든 테이블에 필드 추가
중복 발생! => 속성만 상속받고 싶다!
상속관계 매핑 개념이 아니라 공통되는 속성을 사용하고 싶을 때! 객체 간의 상속관계를 만들어주고, ❤️상속하는 부모 클래스를 추상 클래스로 만들고, @MappedSuperclass 애노테이션을 붙여준다!
슈퍼클래스에 @Column 이름을 설정해주면 상속받는 모든 엔티티에도 동일하게 적용된다!
@MappedSuperclass 특징
상속관계 매핑이 아니다!
엔티티 아님! 테이블과 매핑❌
엔티티가 아니기 때문에 조회, 검색 불가(em.find(BaseEntity) 불가)
부모 클래스를 상속 받는 자식 클래스에 매핑 정보만 제공
직접 생성해서 사용할 일이 없으므로 추상 클래스 권장
JPA에서 extends 를 사용할 때 ① @MappedSuperclass(슈퍼클래스)가 있거나 : 필드만 상속할 때! @E ntity가 있거나 : 상속관계 매핑할 때!