自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

全面引用Hibernate示例

開發(fā) 后端
這里介紹在該Hibernate示例中,我們創(chuàng)建并持久化一個(gè)訂單。反復(fù)運(yùn)行這個(gè)示例,查看產(chǎn)品數(shù)量在每次成功創(chuàng)建訂單后如何變化。

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

Hibernate示例

創(chuàng)建一個(gè)訂單。在該Hibernate示例中,我們創(chuàng)建并持久化一個(gè)訂單。反復(fù)運(yùn)行這個(gè)示例,查看產(chǎn)品數(shù)量在每次成功創(chuàng)建訂單后如何變化。

  1. / ...  
  2. Configuration cfg = new Configuration().addClass(Product.class).
    addClass(Order.class).addClass(OrderItem.class);  
  3.  
  4. // ...  
  5.  
  6. Order order = new Order();  
  7. order.addProduct(milk, 3);  
  8. order.addProduct(coffee, 5);  
  9.  
  10. // ...  
  11. sess = sf.openSession();  
  12. Transaction t = sess.beginTransaction();  
  13. sess.save(order);  
  14. t.commit();  
  15. sess.close();  
  16.  
  17. System.out.println(order);  
  18. // ... 

按照價(jià)格范圍查找訂單。在該示例中,我們將展示如何使用一個(gè)帶有兩個(gè)參數(shù)的查詢。Hibernate正確地加載具有適當(dāng)訂單項(xiàng)和產(chǎn)品的訂單。

  1. // ...  
  2. String query = "select o from o "+ "in class test.hibernate.Order "+ 
    "where o.priceTotal 
    > :priceTotalLower "+ "and o.priceTotal 
    < :priceTotalUpper";  
  3.  
  4. // ...                 
  5. Query q = sess.createQuery(query);  
  6. q.setDouble("priceTotalLower",Double.parseDouble(args[0]));  
  7. q.setDouble("priceTotalUpper",Double.parseDouble(args[1]));  
  8.  
  9. List list = q.list();  
  10. // ...  
  11. sess.close();  
  12. // ... 

刪除一定價(jià)格范圍內(nèi)的訂單。這是一個(gè)重要的Hibernate示例。這里我們會看到Hibernate是一個(gè)多么智能的工具。正如前面所提到的,當(dāng)刪除一個(gè)訂單時(shí),其訂單項(xiàng)也需要被刪除,但不能改變產(chǎn)品。在運(yùn)行該示例后,檢查數(shù)據(jù)庫,確認(rèn)產(chǎn)品沒有變化。

  1. // ...  
  2. String query = "select o from o "+ "in class test.hibernate.Order "+ 
    "where o.priceTotal 
    > :priceTotalLower "+ "and o.priceTotal 
    < :priceTotalUpper";  
  3.  
  4. Transaction tx = sess.beginTransaction();  
  5. sess.delete(query,new Object[]{new Double(args[0]),new Double(args[1])},
    new Type[]{Hibernate.DOUBLE,Hibernate.DOUBLE});        
  6. tx.commit();  
  7. sess.close(); 

【編輯推薦】

  1. Hibernate對數(shù)據(jù)索引進(jìn)行緩存
  2. 剖析Hibernate主鍵生成幾種常用方式
  3. 淺析Hibernate實(shí)現(xiàn)實(shí)體對象延遲加載
  4. Hibernate集合類型的延遲加載特性
  5. 概括Hibernate屬性延遲加載
責(zé)任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2009-09-24 10:50:31

Hibernate主鍵

2009-09-25 16:27:33

Hibernate S

2009-09-23 15:50:21

Hibernate u

2009-09-28 13:49:44

Hibernate Q

2009-09-21 16:56:14

Hibernateibatis

2009-09-28 17:27:27

Hibernate A

2009-09-25 09:46:03

Hibernate s

2009-09-23 17:41:05

Hibernate事務(wù)

2009-09-28 10:24:58

Hibernate基礎(chǔ)

2009-09-29 10:12:03

Hibernate A

2009-09-22 15:22:08

Hibernate性能

2009-09-22 11:24:07

Hibernate查詢

2009-09-21 17:46:34

Hibernate持久

2009-09-27 17:46:22

Hibernate監(jiān)聽

2009-09-21 16:40:42

Hibernate可行

2009-09-25 17:19:28

Hibernate持久

2009-09-24 11:04:56

Hibernate二級

2023-10-23 10:48:30

Golang數(shù)組

2023-10-26 12:05:14

Golang開發(fā)

2010-04-14 16:37:12

Cisco路由器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號