成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hibernate Template簡(jiǎn)單描述

開發(fā) 后端
這里介紹Hibernate Template傳遞給回調(diào)接口的session并不是org.hibernate.impl.SessionImpl類,而是SessionImpl類的一個(gè)Proxy類。

Hibernate Template還是比較常用的,于是我研究了一下spring Hibernate源代碼,在這里拿出來和大家分享一下,希望對(duì)大家有用。

spring的Hibernate Template的execute方法提供的回調(diào)接口具有Session作為參數(shù),但是實(shí)際上,默認(rèn)情況下,Hibernate Template傳遞給回調(diào)接口的session并不是org.hibernate.impl.SessionImpl類,而是SessionImpl類的一個(gè)Proxy類。之所以替換成為一個(gè)Proxy類,Hibernate Template的注釋說明,Proxy提供了一些額外的功能,包括自動(dòng)設(shè)置Cachable,Transaction的超時(shí)時(shí)間,Session資源的更積極的關(guān)閉等等。

  1. private boolean exposeNativeSession = false;  
  2. ...  
  3. execute方法內(nèi)部:  
  4.  
  5. Session sessionToExpose = (exposeNativeSession ? session : createSessionProxy(session)); 

但是遺憾的是,Hibernate的DetachedCriteria的setExecutableCriteria方法卻要求將session參數(shù)強(qiáng)制轉(zhuǎn)為SessionImpl,但是spring傳過來的卻是一個(gè)Proxy類,因此就報(bào)錯(cuò)了。

  1. public Criteria getExecutableCriteria(Session session) {  
  2. impl.setSession( (SessionImpl) session );   
  3. // 要求SessionImpl,Spring傳遞的是Proxy  
  4. return impl;  

解決方法,禁止Spring的Hibernate Template傳遞Proxy類,強(qiáng)制要求它傳遞真實(shí)的SessionImpl類,即給exexute方法增加一個(gè)參數(shù),提供參數(shù)為true,如下:

  1. public List findByCriteria(final DetachedCriteria detachedCriteria) {  
  2. return (List) getHibernateTemplate().execute(new HibernateCallback() {  
  3. public Object doInHibernate(Session session) throws HibernateException {  
  4. Criteria criteria = detachedCriteria.getExecutableCriteria(session);  
  5. return criteria.list();  
  6. }  
  7. }, true);  

附一個(gè)進(jìn)行模糊查詢的例子:

  1. public PaginationSupport findPageByCriteria(int startIndex, int pageSize, 
    String sortColumnId, Boolean bSortOrder, final String likeValue) {  
  2. DetachedCriteria detachedCriteria = DetachedCriteria .forClass(Time.class);  
  3. // like condition  
  4. if ((likeValue != null && likeValue.trim().length() > 0)) {  
  5. detachedCriteria.add(Restrictions.or(Restrictions.sqlRestriction
    ("statime like ?", "%" + likeValue + "%", Hibernate.STRING),Restrictions.
    sqlRestriction("endtime like ?", "%" + likeValue + "%", Hibernate.STRING)));  

【編輯推薦】

  1. Hibernate Util簡(jiǎn)單討論
  2. 詳解優(yōu)化Hibernate性能經(jīng)驗(yàn)
  3. 概述Hibernate dbcp連接池使用方法
  4. 淺析Hibernate.cfg.xml配置
  5. Hibernate Shard基礎(chǔ)分析
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-09-22 12:45:00

Hibernate性能

2009-09-28 15:43:42

Hibernate O

2009-09-22 11:16:27

Hibernate經(jīng)驗(yàn)

2009-09-27 13:00:56

Hibernate S

2009-09-21 13:56:09

Hibernate3.

2009-09-24 13:17:37

Hibernate類庫

2009-09-27 17:37:32

Hibernate攔截

2009-09-25 10:33:25

Hibernate單元

2009-09-27 17:05:02

Hibernate p

2009-09-23 17:34:18

Hibernate映射

2009-09-21 16:30:20

Hibernate S

2009-09-22 17:41:07

Hibernate性能

2009-09-29 16:48:42

Hibernate J

2009-09-21 17:46:34

Hibernate持久

2009-09-23 10:23:03

Hibernate檢查

2009-09-29 10:57:25

設(shè)置Hibernate

2009-09-22 15:04:37

Hibernate M

2009-09-24 16:19:53

Hibernate應(yīng)用

2009-09-25 14:28:40

Hibernate S

2009-09-27 09:55:38

Hibernate持久
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 国产免费一区二区三区最新6 | 蜜桃视频一区二区三区 | 日韩中文字幕在线播放 | 国产一区二区精 | a级片播放 | 亚洲最大成人综合 | 一区二区成人 | av一二三区| 在线视频一区二区 | 成人久久久久久久久 | 国产乱码精品一区二区三区忘忧草 | h片在线观看网站 | 精品国产乱码久久久久久牛牛 | 日韩色在线 | 久久久69 | 在线观看视频亚洲 | 精品美女久久久 | 国产成人精品免高潮在线观看 | 欧美一级片黄色 | 成人性生交大片 | 日本亚洲精品成人欧美一区 | 一区二区三区视频免费观看 | 国产ts一区 | 亚洲美女一区 | 午夜视频一区二区 | 狠狠躁18三区二区一区 | 亚洲高清在线观看 | 亚洲国产日韩欧美 | 日韩精品一二三区 | 中文字字幕在线中文乱码范文 | 欧美日韩国产一区二区 | 天天色综 | 中文字幕av色 | 91久久精品一区二区二区 | 国产精品美女久久久久久久网站 | 久久精品亚洲欧美日韩久久 | 亚洲一区二区三区免费视频 | 国产福利91精品一区二区三区 | 国产精品伦一区二区三级视频 | 精精国产xxxx视频在线野外 | 久久国内精品 |