상속관계와는 상관이 없다.

공통의 매핑 정보가 필요할 때 사용한다.

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는 자동화 할 수 있다.

정리