日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Hibernate創(chuàng)建和持久化Product

在向大家詳細(xì)介紹持久化Product之前,首先讓大家了解下Hibernate創(chuàng)建一個(gè)Product,然后全面介紹。

為大足等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及大足網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、大足網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

在我們假想的應(yīng)用程序中,基本的使用模式非常簡單:我們用Hibernate創(chuàng)建一個(gè)Product,然后將其持久化(或者換句話說,保存它);我們將搜索并加載一個(gè)已經(jīng)持久化Product,并確保其可以使用;我們將會(huì)更新和刪除Product。

Hibernate創(chuàng)建和持久化Product

現(xiàn)在我們終于用到Hibernate了。使用的場(chǎng)景非常簡單:
1. Hibernate創(chuàng)建一個(gè)有效的Product。
2. 在應(yīng)用程序啟動(dòng)時(shí)使用net.sf.Hibernate.cfg.Configuration獲取net.sf.Hibernate.SessionFactory。
3. 通過調(diào)用SessionFactory#openSession(),打開net.sf.Hibernate.Session。
4. 保存Product,關(guān)閉Session。

正如我們所看到的,這里沒有提到JDBC、SQL或任何類似的東西。非常令人振奮!下面的示例遵循了上面提到的步驟:

 
 
 
  1. package test;  
  2.  
  3. import net.sf.hibernate.Session;  
  4. import net.sf.hibernate.SessionFactory;  
  5. import net.sf.hibernate.Transaction;  
  6. import net.sf.hibernate.cfg.Configuration;  
  7. import test.hibernate.Product;  
  8.  
  9. // 用法:  
  10. // java test.InsertProduct name amount price  
  11. public class InsertProduct {  
  12.  
  13. public static void main(String[] args)  
  14. throws Exception {  
  15.  
  16. // 1. 創(chuàng)建Product對(duì)象  
  17. Product p = new Product();  
  18. p.setName(args[0]);  
  19. p.setAmount(Integer.parseInt(args[1]));  
  20. p.setPrice(Double.parseDouble(args[2]));  
  21.  
  22. // 2. 啟動(dòng)Hibernate  
  23. Configuration cfg = new Configuration()  
  24.  .addClass(Product.class);  
  25. SessionFactory sf = cfg.buildSessionFactory();  
  26.  
  27. // 3. 打開Session  
  28. Session sess = sf.openSession();  
  29.  
  30. // 4. 保存Product,關(guān)閉Session  
  31. Transaction t = sess.beginTransaction();  
  32. sess.save(p);  
  33. t.commit();  
  34. sess.close();  
  35. }  

當(dāng)然,INFO行指出我們需要一個(gè)Hibernate.properties配置文件。在這個(gè)文件中,我們配置要使用的數(shù)據(jù)庫、用戶名和密碼以及其他選項(xiàng)。使用下面提供的這個(gè)示例來連接前面提到的Hypersonic數(shù)據(jù)庫:

 
 
 
  1. hibernate.connection.username=sa 
  2. hibernatehibernate.connection.password=  
  3. hibernate.connection.url=jdbc:hsqldb:/home/davor/hibernate/orders  
  4. hibernate.connection.driver_class=org.hsqldb.jdbcDriver  
  5. hibernate.dialect=net.sf.hibernate.dialect.HSQLDialect 

適當(dāng)?shù)剡M(jìn)行修改(例如,可能需要修改Hibernate.connection.url),并保存到classpath中。這很容易,但那個(gè) test/Hibernate/Product.hbm.xml資源是什么呢?它是一個(gè)XML文件,定義了Java對(duì)象如何被持久化(映射)到一個(gè)數(shù)據(jù)庫。在該文件中,我們定義數(shù)據(jù)存儲(chǔ)到哪個(gè)數(shù)據(jù)庫表中,哪個(gè)字段映射到數(shù)據(jù)庫表的哪個(gè)列,不同的對(duì)象如何互相關(guān)聯(lián),等等。讓我們來看一下 Product.hbm.xml。

 
 
 
  1.  version="1.0" encoding="UTF-8"?> 
  2. "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"> 
  3.  
  4.  
  5.  name="test.hibernate.Product"table="products"> 
  6.  
  7.  name="id" type="string"unsaved-value="null"> 
  8.  name="id" sql-type="char(32)"not-null="true"/> 
  9.  class="uuid.hex"/> 
  10.  
  11.  name="name"> 
  12.  name="name" sql-type="char(255)"not-null="true"/> 
  13.  
  14.  name="price"> 
  15.  name="price" sql-type="double"not-null="true"/> 
  16.  
  17.  name="amount"> 
  18.  name="amount" sql-type="integer"not-null="true"/> 
  19.    
  20.  
  21.  

【編輯推薦】

  1. Hibernate對(duì)數(shù)據(jù)索引進(jìn)行緩存
  2. 剖析Hibernate主鍵生成幾種常用方式
  3. 淺析Hibernate實(shí)現(xiàn)實(shí)體對(duì)象延遲加載
  4. Hibernate集合類型的延遲加載特性
  5. 概括Hibernate屬性延遲加載

本文題目:Hibernate創(chuàng)建和持久化Product
分享路徑:http://www.5511xx.com/article/cddsope.html