- 엔티티 사이에
공통 매칭 정보
가 필요할 때 사용한다(예시에선 id, name)
📌 요구사항
- 누가 언제 생성했는지(createdBy, createdDate)
- 누가 언제 마지막으로 수정했는지 (lastModifiedBy, lastModifiedDate)
에 관한 정보를Member
,Team
엔티티에 넣고 싶다.
@MappedSuperclass
public abstract class BaseEntity{
private String createdBy;
private LocalDateTime createdDate;
private String lastmodifiedBy;
private LocalDateTiME lastmodifiedDate;
//getter, setter 생략
}
public class Team extends BaseEntity{
...
}
public class Member extends BaseEntity{
...
}
자식 클래스에 매핑 정보만 제공
한다.em.find(BaseEntity) 불가
추상 클래스 권장
📌참고
@Entity 클래스는 엔티티나 @MappedSuperclass로 지정한 클래스만 상속 가능