Я пытаюсь реализовать веб-приложение для корзины покупок, как и большинство новичков в javaee & hibernate .. Я просмотрел много учебников и до сих пор сомневаюсь.Я надеюсь, что кто-то здесь может помочь мне исправить мое мышление.
Я реализовал класс Product и CartItem.У CartItem есть поле Product и поле количества.Когда пользователь хочет купить Продукт, он добавляет CartItem в корзину.
Чтобы смоделировать покупку пользователя, я написал класс Invoice с набором объектов CartItem.У этого также есть область клиента.Теперь я немного запутался по поводу соответствующих таблиц и того, как должны соотноситься их времена жизни.
После создания записи счета-фактуры (когда пользователь покупает некоторые товары), следует ли хранить соответствующие картеми в 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 и 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)
)