国产探花免费观看_亚洲丰满少妇自慰呻吟_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

測試通過


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北辰区| 洛宁县| 汕尾市| 威远县| 将乐县| 永靖县| 福建省| 玉环县| 东乡族自治县| 抚顺县| 武山县| 阜宁县| 斗六市| 贵阳市| 闵行区| 福清市| 阿拉善左旗| 息烽县| 滨海县| 商丘市| 吐鲁番市| 儋州市| 喀喇沁旗| 疏附县| 汉川市| 昭平县| 荣成市| 通城县| 五河县| 长汀县| 虹口区| 旬邑县| 阳江市| 鄯善县| 九寨沟县| 太仆寺旗| 沁源县| 东至县| 肇庆市| 当阳市| 阿合奇县|