日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Hibernate3.2基礎(chǔ)分析

本文向大家介紹Hibernate3.2,可能好多人還不了解Hibernate3.2,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。

成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計,成都做網(wǎng)站公司-創(chuàng)新互聯(lián)公司已向1000多家企業(yè)提供了,網(wǎng)站設(shè)計,網(wǎng)站制作,網(wǎng)絡(luò)營銷等服務(wù)!設(shè)計與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗,合理的價格為您打造企業(yè)品質(zhì)網(wǎng)站。

1、從Hibernate3.0.x/3.1.x升級到***的Hibernate3.2,一定要注意,Hibernate3.2的很多sql函數(shù)如 count(), sum()的唯一返回值已經(jīng)從Integer變?yōu)長ong,如果不升級代碼,會得到一個ClassCastException.這個變化主要是為了兼容 JPA,可以在Hibernate.org的***文檔中找到說明。

Hibernate Team也提供了一個與原來兼容的解決方案:

 
 
 
  1. Configuration classicCfg = new Configuration();  
  2. classicCfg.addSqlFunction( "count", new ClassicCountFunction());  
  3. classicCfg.addSqlFunction( "avg", new ClassicAvgFunction());  
  4. classicCfg.addSqlFunction( "sum", new ClassicSumFunction());  
  5. SessionFactory classicSf = classicCfg.buildSessionFactory();  
  6.  
  7. //或  
  8.  
  9. int count = ((Integer)q.uniqueResult()).intValue();
  10. //改成 
  11. int count = ((Number)q.uniqueResult()).intValue(); 

這樣就可以兩個版本同時兼容。

2、Hibernate3.2要求ehcache1.2

3、session.createSQLQuery(sql).executeUpdate();這個Hibernate3.0.5不支持,而 Hibernate3.2支持,session.createSQLQuery(fsql).addScalar("singlevalue",Hibernate.DOUBLE).uniqueResult();這個到了3.2就不需要addScalar了。

4、session.createSQLQuery(sql).addEntity(Class class);Hibernate3.0.5不支持,單個參數(shù)的addEntity方法。

5、Hibernate3.2可以對原生sql 查詢使用ResultTransformer.這會返回不受Hibernate管理的實體。

 
 
 
  1. sess.createSQLQuery("SELECT NAME, BIRTHDATE FROM CATS")  
  2. .setResultTransformer(Transformers.aliasToBean(CatDTO.class))  
  3.  
  4. //或:  
  5.  
  6. setResultTransformer(new AliasToBeanResultTransformer(CatDTO.class)) 

上面的查詢將會返回CatDTO的列表,它將被實例化并且將NAME和BIRTHDAY的值注射入對應(yīng)的屬性或者字段。但必須注意,對每一個列都必須addScalar("列名")

6、setResultTransformer與addEntity的一個區(qū)別是前者支持查任意的列,后者必須用select * from users的形式或select {a.*},{b.*} from a,b where ……。

7,Map vs. Object[]

 
 
 
  1. Since you can also use a transformer that return a Map from alias to value/entity  
  2. (e.g. Transformers.ALIAS_TO_MAP), you are no longer required to mess with index based  
  3. Object arrays when working with a result.  
  4.  
  5. List iter = s.createQuery("select e.student.name as studentName," + "e.course.
    description as courseDescription" + "from Enrolment as e").
    setResultTransformer( Transformers.ALIAS_TO_MAP ).iterate();  
  6. String name = (Map)(iter.next()).get("studentName");  
  7. Again, this works equally well for Criteria, HQL and native SQL

【編輯推薦】

  1. Hibernate3.1簡單描述
  2. Hibernate save基礎(chǔ)簡介
  3. 淺析Hibernate 3二級緩存基礎(chǔ)
  4. Hibernate流行架構(gòu)淺析
  5. Hibernate update淺談

網(wǎng)站題目:Hibernate3.2基礎(chǔ)分析
網(wǎng)頁地址:http://www.dlmjj.cn/article/dpjgcje.html