淺談Hibernate OrderItem
Hibernate OrderItem還是比較常用的,于是我研究了一下Hibernate OrderItem,在這里拿出來(lái)和大家分享一下,希望對(duì)大家有用。
Hibernate OrderItem
Hibernate OrderItem這個(gè)類稍微復(fù)雜一些,但仍然很易懂。我們的業(yè)務(wù)需求決定我們需要一定量的產(chǎn)品,我們將會(huì)把它們放到一個(gè)訂單中。那些產(chǎn)品將自動(dòng)變成訂單項(xiàng)。這時(shí)就需要自定義構(gòu)造函數(shù)了。
- package test.hibernate;
 - public class OrderItem {
 - /**
 - * 創(chuàng)建有效的訂單項(xiàng)。自動(dòng)設(shè)置訂單項(xiàng)的價(jià)格,并更正產(chǎn)品的庫(kù)存可用量
 - *
 - * @param order 該訂單項(xiàng)屬于的訂單
 - * @param product 該訂單項(xiàng)為哪種產(chǎn)品而創(chuàng)建
 - * @param amount
 - */
 - public OrderItem(Order order,
 - Product product,
 - int amount) {
 - this.order = order;
 - this.product = product;
 - this.amount = amount;
 - product.setAmount(product.getAmount() - amount);
 - this.price = product.getPrice() * amount;
 - }
 - // 還需要默認(rèn)的構(gòu)造函數(shù)來(lái)保證Hibernate工作
 - /**
 - * 空構(gòu)造函數(shù)遵循JavaBeans約定
 - *
 - */
 - public OrderItem() {
 - // 空的默認(rèn)構(gòu)造函數(shù)
 - }
 - // 字段
 - private String id;
 - private Product product;
 - private Order order;
 - private String productId;
 - private String orderId;
 - private double price;
 - private int amount;
 - public String getId() {
 - return id;
 - }
 - public String getProductId() {
 - return product.getId();
 - }
 - public String getOrderId() {
 - return order.getId();
 - }
 - // 其他getter/setter方法沒(méi)有顯示
 - // ...
 - //顯示該訂單項(xiàng)的方便方式
 - public String toString() {
 - return
 - "[OrderItem] id=" + id + " amount=" +
 - amount + " price=" + price + "(" +
 - product + ")";
 - }
 - }
 
如何把Hibernate OrderItem產(chǎn)品放到一個(gè)訂單中。
- /**
 - * 添加一項(xiàng)產(chǎn)品到訂單中。產(chǎn)品自動(dòng)成為一個(gè)訂單項(xiàng)。
 - * priceTotal被自動(dòng)更新。
 - *
 - * @param p 添加到該訂單的產(chǎn)品
 - * @param amount 添加的產(chǎn)品量
 - */
 - public void addProduct(Product p,int amount) {
 - OrderItem orderItem = new OrderItem(this,p, amount);
 - thisthis.priceTotal = this.priceTotal+ p.getPrice() * amount;
 - this.orderItems.add(orderItem);
 - }
 
【編輯推薦】















 
 
 
 
 
 
 