hibernate幾個純sql查詢

2021-09-22 09:01:50 字數 813 閱讀 5957

幾個hibernate純sql詢問,查詢和表沒有對映pojo實體

和表有對映關係的實體......

1、getsession().createsqlquery(sql).query.addscalar("productid", standardbasictypes.string)........能夠直接返回pojo(非對映的實體)

2、getsession().createquery("select new com.eastelsoft.product(productid、serviceid...) from tbillacctitem  ").list().....能夠直接返回pojo(非對映的實

體)3、getsession().createsqlquery(sql).list()  ......返回的是 listobject型別的陣列,再去做遍歷

4、.....adden實體 (興許再說)

主要使用前2種的,當我們希望sql查詢出來的結果能直接夠繫結到沒有和表字段一一對映的pojo上時候,這兩種就起作用了。

第一種方法之前的文章說過: 

另外一種有幾點要注意的地方:

使用new物件的方法,new的實體裡裡面使用sum函式時候不行,主要是sum函式返回的是long型別的,我們有時候字段使用的是integer。所以就報錯了 。這點須要注意。

還有就是這種方法使用的是createquery。hql語言 查詢時候 from的是實體 不是表結構。之前的createsqlquery不是hql語言、查詢from的是表結構 

第三種做笨的方式 查詢原生的object物件 然後再去遍歷轉換為我們須輸入 ,還有第四 有點問題的探索 向上的背

Hibernate 使用純SQL語句完成查詢操作

採用這種方式查詢原因 由於多表關聯,在查詢時無需多餘的字段,為了少些不必要的字段和 故初次下策,一般情況下採用這種方式。當前專案使用到spring springmvc hibernate 框架整合,在多表關聯查詢是遇到一些問題。後來發現是否可以採用純sql語句來查詢,在google查詢一番後,整理如...

Hibernate 幾個常用的註解

做物件關聯時,幾個常用的屬性配置,和含義 b cascade b cascadetype.refresh 級聯重新整理,當多個使用者同時作操作乙個實體,為了使用者取到的資料是實時的,在用實體中的資料之前就可以呼叫一下refresh 方法!cascadetype.merge 級聯更新,當呼叫了merg...

Hibernate 原生SQL查詢

hql儘管容易使用,但是在一些複雜的資料操作上功能有限。特別是在實現複雜的報表統計與計算,以及多表連線查詢上往往無能為力,這時可以使用sql native sql 實現hql無法完成的任務。1 使用sql查詢 使用sql查詢可以通過兩種方式來實現 1 利用hibernate提供的sqlquery物件...