日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

使用hibernate的this.getSession().createSQLQuery(sql).list();方法查询数据时出现查到的数据和想象的不一致,很是郁闷,诡异...

發布時間:2025/7/14 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用hibernate的this.getSession().createSQLQuery(sql).list();方法查询数据时出现查到的数据和想象的不一致,很是郁闷,诡异... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天 使用hibernate的this.getSession().createSQLQuery(sql).list();方法查詢數據時出現查到的數據和想象的不一致的問題,郁悶我很長一段時間

執行的方法代碼如下:

public List<?> findKaoHe4Data(String startDay, String endDay, String depIds) {String sql = "SELECT t.dep_id,t.memo,"+ "sum(case ISNUMERIC(t.chanl) when 1 then cast(t.chanl as float) else 0 end) as chanl,"+ "sum(case ISNUMERIC(t.cail) when 1 then cast(t.cail as float) else 0 end) as cail,"+ "sum(case ISNUMERIC(t.dianf) when 1 then cast(t.dianf as float) else 0 end) as dianf "+ "FROM team_settle t JOIN department d on d.dep_id=t.dep_id JOIN department pd on d.pdep_id = pd.dep_id WHERE d.pdep_id IN ("+ depIds + ") and settle_date >='" + startDay + "' and settle_date<='" + endDay + "' and t.memo<>'' "+ "GROUP BY t.dep_id,t.memo,pd.show_order,d.show_order ORDER BY pd.show_order,d.show_order";return this.getSession().createSQLQuery(sql).list();}


截取到組合好的sql語句如下:

View Code SELECTt.dep_id,t.memo,sum(case ISNUMERIC(t.chanl) when 1 then cast(t.chanl as float) else 0 end) as chanl,sum(case ISNUMERIC(t.cail) when 1 then cast(t.cail as float) else 0 end) as cail,sum(case ISNUMERIC(t.dianf) when 1 then cast(t.dianf as float) else 0 end) as dianf FROMteam_settle t JOINdepartment d on d.dep_id=t.dep_id JOINdepartment pd on d.pdep_id = pd.dep_id WHEREd.pdep_id IN ('402882eb369b1a0601369b288b8e0006','402882eb369b1a0601369b28d3360007','402882eb369b1a0601369b293e820008','402882eb369b1a0601369b29efe10009','402882eb369b1a0601369b2a25b6000a','402882eb369b1a0601369b2a5e1b000b') and settle_date >='2013-01-01' and settle_date<='2013-01-16' and t.memo<>'' GROUP BYt.dep_id,t.memo,pd.show_order,d.show_order ORDER BYpd.show_order,d.show_order

拿到navcat中執行以下代碼,得到的是15條記錄

但是java類中 的list集合卻顯示的是9條記錄

為什么兩處的查詢結果不一致呢,找不到原因,以致使用hibernate? show_sql功能,在控制臺打印的sql,

拿到navcat中執行以下仍然是15條記錄,瘋了,瘋了,崩潰了,啥子原因...

瘋了之后,把meyeclipse關閉了重啟,還是不好使,瘋了,瘋了。。。

就在忽然間,看到了在navcat中執行查詢的數據庫是服務器的數據庫,然而在項目中連接的數據庫是本地的數據庫,

忽然間我仰天大笑,仰天大笑,原來是這原因,瘋了瘋了

?

?

?

總結

以上是生活随笔為你收集整理的使用hibernate的this.getSession().createSQLQuery(sql).list();方法查询数据时出现查到的数据和想象的不一致,很是郁闷,诡异...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。