jpa mappedSuperclass 공통 필드 칼럼 관리하기
mappedSuperclass 공통 맵핑
- regId, regDt 등 모든 객체(테이블)의 공통 정보가 존재함.
- 이러한 공통 정보를 하나의 엔티티로 묶음.
- MappedSuperclass 를 어너테이션으로 한다. 단독으로 사용할 일이 없으므로 추상 클래스(abstract class)로 한다.
- 매우 자주 사용한다.
구현
@MappedSuperclass
@Setter
@Getter
public abstract class BaseEntity {
private String createdBy;
private String lastModifiedBy;
private LocalDateTime createDate;
private LocalDateTime lastModifyDate;
}
@Entity
@Setter
@Getter
public class Member extends BaseEntity{
@Id
@GeneratedValue
private Long id;
private String name;
}
@Entity
@Setter
@Getter
public class Team extends BaseEntity{
@Id
@GeneratedValue
private Long id;
private String name;
}