我正在尝试实现一个购物车网络应用程序,就像大多数 javaee 和休眠的新手一样。我浏览了许多教科书,但仍然有疑问。我希望这里有人可以帮助我纠正我的想法。
我实现了一个 Product 类和一个 CartItem。CartItem 有一个 Product 字段和一个 quantity 字段。当用户想要购买产品时,他将 CartItem 添加到购物车。
为了对用户的购买进行建模,我编写了一个带有一组 CartItem 对象的 Invoice 类。它还有一个客户字段。现在,我对相应的表以及它们的生命周期应该如何关联感到有些困惑。
创建发票记录后(当用户购买一些商品时),是否应将相应的caritems保存在db中?或者一旦用户购买了商品,caritem 记录是否应该被删除?
如果有人可以阐明这些,那就太好了。
谢谢,
标记
源代码:
class CartItem {
private Long cartItem_id;
private Product product;
private int quantity;
...
}
class Invoice {
private Long invoice_id;
private Customer customer;
private Set<CartItem> cartItems;
private Date invoiceDate;
private int invoiceNumber;
private double totalAmount;
...
}
我创建了如下表 CARTITEM 和 INVOICE。
CREATE TABLE CARTITEM(
CARTITEM_ID BIGINT NOT NULL PRIMARY KEY IDENTITY,
QUANTITY INTEGER,
PRODUCT_ID BIGINT,
FOREIGN KEY(PRODUCT_ID) REFERENCES PRODUCT(PRODUCT_ID)
)
CREATE TABLE INVOICE(
INVOICE_ID BIGINT NOT NULL PRIMARY KEY IDENTITY,
INVOICE_NUMBER INTEGER,
INVOICE_DATE DATE,
TOTAL_AMOUNT DOUBLE,
CUSTOMER_ID BIGINT,
UNIQUE(INVOICE_NUMBER),
FOREIGN KEY(CUSTOMER_ID) REFERENCES CUSTOMER(CUSTOMER_ID)
)