상속관계와는 상관이 없다.
공통의 매핑 정보가 필요할 때 사용한다.
azeet 프로젝트 사용예제
@EntityListeners(AuditingEntityListener.class)
@MappedSuperclass
@Getter @Setter
@JsonInclude(JsonInclude.Include.NON_NULL)
public abstract class BaseEntity implements Serializable {
@CreatedDate
@Column(updatable = false)
private LocalDateTime createdAt;
@LastModifiedDate
private LocalDateTime updatedAt;
private Boolean isActive = true;
}
만약 모든 곳에 등록, 수정 정보가 있어야 한다면 모든 엔티티에 필드를 넣어야 할 것이다.
맵핑 정보만 받는 클래스
이 클래스를 상속 받으면 속성을 같이 쓸 수 있다.
createdAt, createBy는 자동화 할 수 있다.