新聞中心
在向大家詳細(xì)介紹Hibernate之前,首先讓大家了解下Hibernate示例,以后全面介紹Hibernate。

創(chuàng)新互聯(lián)是一家業(yè)務(wù)范圍包括IDC托管業(yè)務(wù),網(wǎng)站空間、主機(jī)租用、主機(jī)托管,四川、重慶、廣東電信服務(wù)器租用,達(dá)州托管服務(wù)器,成都網(wǎng)通服務(wù)器托管,成都服務(wù)器租用,業(yè)務(wù)范圍遍及中國大陸、港澳臺以及歐美等多個國家及地區(qū)的互聯(lián)網(wǎng)數(shù)據(jù)服務(wù)公司。
Hibernate示例
創(chuàng)建一個訂單。在該Hibernate示例中,我們創(chuàng)建并持久化一個訂單。反復(fù)運(yùn)行這個示例,查看產(chǎn)品數(shù)量在每次成功創(chuàng)建訂單后如何變化。
- / ...
- Configuration cfg = new Configuration().addClass(Product.class).
addClass(Order.class).addClass(OrderItem.class);- // ...
- Order order = new Order();
- order.addProduct(milk, 3);
- order.addProduct(coffee, 5);
- // ...
- sess = sf.openSession();
- Transaction t = sess.beginTransaction();
- sess.save(order);
- t.commit();
- sess.close();
- System.out.println(order);
- // ...
按照價格范圍查找訂單。在該示例中,我們將展示如何使用一個帶有兩個參數(shù)的查詢。Hibernate正確地加載具有適當(dāng)訂單項(xiàng)和產(chǎn)品的訂單。
- // ...
- String query = "select o from o "+ "in class test.hibernate.Order "+
"where o.priceTotal > :priceTotalLower "+ "and o.priceTotal
< :priceTotalUpper";- // ...
- Query q = sess.createQuery(query);
- q.setDouble("priceTotalLower",Double.parseDouble(args[0]));
- q.setDouble("priceTotalUpper",Double.parseDouble(args[1]));
- List list = q.list();
- // ...
- sess.close();
- // ...
刪除一定價格范圍內(nèi)的訂單。這是一個重要的Hibernate示例。這里我們會看到Hibernate是一個多么智能的工具。正如前面所提到的,當(dāng)刪除一個訂單時,其訂單項(xiàng)也需要被刪除,但不能改變產(chǎn)品。在運(yùn)行該示例后,檢查數(shù)據(jù)庫,確認(rèn)產(chǎn)品沒有變化。
- // ...
- String query = "select o from o "+ "in class test.hibernate.Order "+
"where o.priceTotal > :priceTotalLower "+ "and o.priceTotal
< :priceTotalUpper";- Transaction tx = sess.beginTransaction();
- sess.delete(query,new Object[]{new Double(args[0]),new Double(args[1])},
new Type[]{Hibernate.DOUBLE,Hibernate.DOUBLE});- tx.commit();
- sess.close();
標(biāo)題名稱:全面引用Hibernate示例
URL地址:http://m.fisionsoft.com.cn/article/djogihe.html


咨詢
建站咨詢
