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