음반, 도서, 영화의 상품 종류가 추가되고 추후에 더 확장될 수 있다.
모든 데이터는 등록일과 수정일이 필수로 있어야 한다.
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
으로 구현
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn
public abstract class Item extends BaseEntity{
// ...
}
Book, Album, Movie Entity 생성 후 extends Item
@MappedSuperclass
public abstract class BaseEntity {
private String createdBy;
private LocalDateTime createdDate;
private String lastModifiedBy;
private LocalDateTime lastModifiedDate;
// ...
}
Entity들에 들어갈 등록일과 수정일을 넣은 BaseEntity 생성
Item, Category, Delivery, Order, OrderItem, Member Entity에 extends BaseEntity