淺談Hibernate OrderItem
作者:佚名
這里介紹Hibernate OrderItem這個類稍微復(fù)雜一些,但仍然很易懂。我們的業(yè)務(wù)需求決定我們需要一定量的產(chǎn)品,我們將會把它們放到一個訂單中。
Hibernate OrderItem還是比較常用的,于是我研究了一下Hibernate OrderItem,在這里拿出來和大家分享一下,希望對大家有用。
Hibernate OrderItem
Hibernate OrderItem這個類稍微復(fù)雜一些,但仍然很易懂。我們的業(yè)務(wù)需求決定我們需要一定量的產(chǎn)品,我們將會把它們放到一個訂單中。那些產(chǎn)品將自動變成訂單項(xiàng)。這時就需要自定義構(gòu)造函數(shù)了。
- package test.hibernate;
- public class OrderItem {
- /**
- * 創(chuàng)建有效的訂單項(xiàng)。自動設(shè)置訂單項(xiàng)的價格,并更正產(chǎn)品的庫存可用量
- *
- * @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ù)來保證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方法沒有顯示
- // ...
- //顯示該訂單項(xiàng)的方便方式
- public String toString() {
- return
- "[OrderItem] id=" + id + " amount=" +
- amount + " price=" + price + "(" +
- product + ")";
- }
- }
如何把Hibernate OrderItem產(chǎn)品放到一個訂單中。
- /**
- * 添加一項(xiàng)產(chǎn)品到訂單中。產(chǎn)品自動成為一個訂單項(xiàng)。
- * priceTotal被自動更新。
- *
- * @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);
- }
【編輯推薦】
責(zé)任編輯:佚名
來源:
51CTO.com