国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Hibernate5+sqlserver2008 分頁問題

2019-11-08 03:26:10
字體:
來源:轉載
供稿:網友


Hibernate 發布了最新版本 5.2,恰好公司要做個新項目,我是比較喜歡冒險的,所有決定采用 sPRing4+Hibernate5,各種搜索,各種配置之后,框架終于跑起來了,當測試到分頁的時候出現了一個很意外的錯誤,下面詳細描述下錯誤的過程

1、分頁代碼

public  List<Map<String,Object>> findByPageMap(final String hql, final Object[] params,   final int pageNo, final int maxResults)   throws Exception{  Query queryObject = getsession().createQuery(hql);  if (pageNo<1)   throw new Exception("pageNo 必須大于 0");  int firstResult=(pageNo-1)*maxResults;  if (params != null) {   for (int i = 0; i < params.length; i++) {    queryObject.setParameter(i, params[i]);   }  }  queryObject.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);  queryObject.setFirstResult(firstResult);    queryObject.setMaxResults(maxResults);    return  (List<Map<String,Object>>)queryObject.list(); }

很簡單不必解釋

(ps:原本使用Hibernate5.2 的,因為5.2有一些被取消的的方法例如setResultTransformer()我沒找到替代的方法,所以放棄)

運行test測試,出現了一個很詭異的錯誤

ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper:131 - '@P0' 附近有語法錯誤。

輸出的sql語句為 select        TOP ?  ticketsell0_.detail_id as detail_i1_1 from     TicketSell_detail ticketsell0_

以前從來沒出現這個現象,

檢查代碼 沒有可改之處

于是各種替換排除  把 阿里數據源換成c3p0  Hibernate5.2 降級 5.1  現象依舊

度娘也沒有給出答案,最后目光放在了數據方言上

原來這么寫的

hibernate.dialect=org.hibernate.dialect.SQLServerDialect

換框架之前 一直好使的,在翻看了源碼后 發現Hibernate對sqlserver的版本進行了細化

于是改成

hibernate.dialect=org.hibernate.dialect.SQLServer2008Dialect

測試通過


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 聂拉木县| 玉溪市| 洮南市| 临西县| 泗阳县| 腾冲县| 兴国县| 兴和县| 齐河县| 浑源县| 手游| 承德市| 岳阳县| 两当县| 阳谷县| 肇庆市| 留坝县| 克什克腾旗| 赤壁市| 彝良县| 陇川县| 曲麻莱县| 肥西县| 抚松县| 栾城县| 册亨县| 垫江县| 长葛市| 克山县| 衢州市| 隆德县| 山西省| 清水河县| 寻乌县| 津市市| 新乡市| 东莞市| 云梦县| 盘山县| 昌都县| 集安市|