@MappedSuperclass : Entity에서 공통의 매핑 정보가 필요할 때 사용(ex : 등록일, 수정일, 등록자, 수정자)
@MappedSuperclass
public abstract class BaseEntity {
private String createdBy;
private LocalDateTime createdDate;
private String lastModifiedBy;
private LocalDateTime lastModifiedDate;
}
@Entity
public class Member extends BaseEntity{
@Id
@GeneratedValue
@Column(name = "MEMBER_ID")
private Long id;
// ...
}
@Entity
public class Team extends BaseEntity{
@Id
@GeneratedValue
@Column(name = "TEAM_ID")
private Long id;
// ...
}
Member
와 Team
에 공통으로 필요한 Column을 MappedSuperclass로 관리