1樓:邗啟
教你個方法:
list result = session.createsqlquery(sql)
.setresulttransformer(transformers.alias_to_entity_map).list()
用這個方法可以把資料庫查詢出來的每一行封裝成一個map型別,key為資料庫欄位,value為值,
然後把這些map放到了一個list裡面,
如果你只返回一條記錄:
那麼mapmap = (map) result.get(0);
即可得到你這一行記錄轉換層的map,
如果有多條,迭代list即可。
希望對你有幫助
2樓:匿名使用者
這麼寫應該是返回的 陣列 object result=query.list();
取值按照
result[0] 這個索引裡面是根據你的返回結果 有得是list 有的是object
你的單條記錄應該是 result[0] 就是你要的結果 然後轉換為你要的型別
3樓:匿名使用者
hibernate最大的魅力在於orm,也就是物件關係對映,將關係型資料轉換成物件型資料.所以它有一個xml檔案,配對錶和物件的對應關係.
session s=null;
try}finally
幾行**就可以實現繁瑣的sql查詢了.
使用sql查詢取得結果也是同理。因為它將欄位對映到了一個物件上。直接物件.屬性就可以取到了
hibernate的對映檔案中generator的屬性問題
1 assigned 主鍵由外部程式負責生成,無需hibernate參與。2 hilo 通過hi lo 演算法實現的主鍵生成機制,需要額外的資料庫表儲存主 鍵生成歷史狀態。3 seqhilo 與hilo 類似,通過hi lo 演算法實現的主鍵生成機制,只是主鍵歷史 狀態儲存在sequence中,適用...
hibernate對映oracle中的number型別應該對映
integer long double 看number的詳細情況而定,如長度 小數位數等 sky的悲傷 看你number的位數,是否帶小數位。如果帶小數位數比較多的話,是double,是整數的話,一般是int,長度大的話,就會變成long型別。只要能夠放下你在資料庫中定義的number型別就可以了 ...
hibernate中get和load的區別
hibernate中get方法和load方法的根本區別 如果你使用load方法,hibernate認為該id對應的物件 資料庫記錄 在資料 庫中是一定存在的,所以它可以放心的使用,它可以放心的使用 來延遲載入該物件。在用到物件中的其他屬性資料時才查詢資料庫,但是萬一資料庫中不存在該 記錄,那沒辦法,...