쇼핑몰 프로젝트 (4) 장바구니 엔터티

@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도 생성합니다.