@Entity
@Getter
@Setter
@Table(name="basket")
public class Basket {
@Id
@Column(name="basket_id")
@GeneratedValue
private Long id;
@OneToOne
@JoinColumn(name="basket_id")
private Member member;
@OneToMany(mappedBy = "basket")
private List<BasketItem> basketItemList = new ArrayList<>();
//카트에 담긴 총 상품 개수
private int count;
@DateTimeFormat(pattern = "yyyy-mm-dd")
private LocalDate createDate; // 날짜
@PrePersist
public void createDate(){
this.createDate = LocalDate.now();
}
public static Basket createBasket(Member member){
Basket basket = new Basket();
basket.setCount(0);
basket.setMember(member);
return basket;
}
}
장바구니의 기본 키는 @Id 주석으로 할당됩니다.
외래 키는 @JoinColumn 주석이 있는 바스켓에 할당됩니다.
장바구니를 생성할 수 있는 createBasket도 생성합니다.