상품 엔티티
@Entity
@Getter @Setter
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "dtype")
public abstract class Item {
    @Id @GeneratedValue
    @Column(name = "item_id")
    private Long id;
    private String name;
    private int price;
    private int stockQuantity;
    @ManyToMany(mappedBy = "items")
    private List<Category> categories = new ArrayList<>();
}도서 엔티티
@Entity
@Getter @Setter
@DiscriminatorValue("B")
public class Book extends Item{
    private String author;
    private String isbn;
}음반 엔티티
@Entity
@Getter @Setter
@DiscriminatorValue("A")
public class Album extends Item{
    
    private String artist;
    private String etc;
}영화 엔티티
@Entity
@Getter @Setter
@DiscriminatorValue("M")
public class Movie extends Item{
    
    private String director;
    private String actor;
}Last updated