私は、javaee &の休止中のほとんどの初心者のようなショッピングカートのWebアプリケーションを実装しようとしています。ここの誰かが私の考えを訂正するのを助けてくれることを願っています。cartitemとInvoiceのライフ・リレーションズ.. shoppingcartを実装する疑問
私はProductクラスとCartItemを実装しました。 CartItemには商品フィールドと数量フィールドがあります。ユーザーが商品を購入したいときは、CartItemをカートに追加します。
ユーザーの購入をモデル化するために、CartItemオブジェクトのセットを使用してInvoiceクラスを作成しました。顧客フィールドもあります。今、私は対応するテーブルとその生涯がどのように関係すべきかについて少し混乱しています。
請求書レコードが作成された後(ユーザーが一部のアイテムを購入した場合)、対応するカートアイテムをdbに保存する必要がありますか?または、ユーザーが商品を購入した後、カートリットレコードを削除する必要がありますか?
誰かがこれらについて光を当てることができれば、いいと思います。
おかげで、
マーク
ソースコード:
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と請求書を作成しました。
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)
)