jpashop : entity config
This commit is contained in:
@@ -3,6 +3,7 @@ package com.example.jpashop.domain;
|
||||
import com.example.jpashop.domain.item.Item;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.util.ArrayList;
|
||||
@@ -25,10 +26,16 @@ public class Category {
|
||||
inverseJoinColumns = @JoinColumn(name = "item_id"))
|
||||
private List<Item> items = new ArrayList<>();
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "parent_id")
|
||||
private Category parent;
|
||||
|
||||
@OneToMany(mappedBy = "parent")
|
||||
private List<Category> child = new ArrayList<>();
|
||||
|
||||
// 연관관계 메서드
|
||||
public void addChildCategory(Category child) {
|
||||
this.child.add(child);
|
||||
child.setParent(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ public class Delivery {
|
||||
@Column(name = "delivery_id")
|
||||
private Long id;
|
||||
|
||||
@OneToOne(mappedBy = "delivery")
|
||||
@OneToOne(mappedBy = "delivery", fetch = FetchType.LAZY)
|
||||
private Order order;
|
||||
|
||||
@Embedded
|
||||
|
||||
@@ -17,14 +17,14 @@ public class Order {
|
||||
@Column(name = "order_id")
|
||||
private Long id;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "member_id")
|
||||
private Member member;
|
||||
|
||||
@OneToMany(mappedBy = "order")
|
||||
@OneToMany(mappedBy = "order", cascade = CascadeType.ALL)
|
||||
private List<OrderItem> orderItems = new ArrayList<>();
|
||||
|
||||
@OneToOne
|
||||
@OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
|
||||
@JoinColumn(name = "delivery_id")
|
||||
private Delivery delivery;
|
||||
|
||||
@@ -32,4 +32,20 @@ public class Order {
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
private OrderStatus status; // 주문 상태 [ORDER, CANCEL]
|
||||
|
||||
// 연관관계 메서드
|
||||
public void setMember(Member member) {
|
||||
this.member = member;
|
||||
member.getOrder().add(this);
|
||||
}
|
||||
|
||||
public void addOrderItem(OrderItem orderItem) {
|
||||
orderItems.add(orderItem);
|
||||
orderItem.setOrder(this);
|
||||
}
|
||||
|
||||
public void setDelivery(Delivery delivery) {
|
||||
this.delivery = delivery;
|
||||
delivery.setOrder(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,11 +14,11 @@ public class OrderItem {
|
||||
@Column(name = "order_item_id")
|
||||
private Long id;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "item_id")
|
||||
private Item item;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "order_id")
|
||||
private Order order;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user