배송, 카테고리 엔티티 추가
- 주문과 배송은 1:1(@OneToOne)
- 상품과 카테고리는 N:M(@ManyToMany)
ERD 다이어그램
엔티티 상세
- 다대다는 쓰면 안 되지만, 이번 시간에는 한 번 써보기로 하자.
코드
@Entity
public class Category {
@Id @GeneratedValue
private Long id;
@ManyToOne
@JoinColumn
private Category parent;
@OneToMany(mappedBy = "parent")
private List<Category> children = new ArrayList<>();
@ManyToMany
@JoinTable
private List<Item> items;
private String name;
}
@Entity
public class Delivery {
@Id @GeneratedValue
private Long id;
@OneToOne(mappedBy = "delivery")
private Order order;
private String city;
private String zipcode;
@Enumerated(EnumType.STRING)
private DeliveryStatus status;
}
@Entity
public class Item {
@Id
@GeneratedValue
private Long id;
@ManyToMany(mappedBy = "items")
private List<Category> categories;
private String name;
private int price;
private int stockQuantity;
}
@Entity
@Table(name = "ORDERS")
public class Order {
@Id
@GeneratedValue
private Long id;
@ManyToOne
@JoinColumn
private Member member;
@OneToMany(mappedBy = "order")
private List<OrderItem> orderItems;
@OneToOne
@JoinColumn
private Delivery delivery;
private Date orderDate;
@Enumerated(EnumType.STRING)
private OrderStatus status;
}
Uploaded by N2T
(23.06.12 10:35)에 작성된 글 입니다.