hibernate中的query怎麼取到每個欄位的值

時間 2021-10-14 22:24:01

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對應的物件 資料庫記錄 在資料 庫中是一定存在的,所以它可以放心的使用,它可以放心的使用 來延遲載入該物件。在用到物件中的其他屬性資料時才查詢資料庫,但是萬一資料庫中不存在該 記錄,那沒辦法,...