Heya, 我是新的休眠。我不得不說它確實簡化了SQL查詢的所有內容。但是,操縱返回的結果目前對我來說是頭痛的問題。檢索休眠查詢結果作爲結果集,而不是列表
結果以列表形式返回。大多數情況下,我真的希望將結果放在結果集中,以便我可以使用結果集更容易地操作它,您可以按列名或索引指定值。在List中,我幾乎擁有自己的noobity。
在某些情況下,我可以將列表檢索到JSF數據表中,然後直接調用該成員。我不能總是這樣做。不要問我爲什麼。 @。@紡紗頭。
有沒有辦法讓結果集而不是列表休眠?
Heya, 我是新的休眠。我不得不說它確實簡化了SQL查詢的所有內容。但是,操縱返回的結果目前對我來說是頭痛的問題。檢索休眠查詢結果作爲結果集,而不是列表
結果以列表形式返回。大多數情況下,我真的希望將結果放在結果集中,以便我可以使用結果集更容易地操作它,您可以按列名或索引指定值。在List中,我幾乎擁有自己的noobity。
在某些情況下,我可以將列表檢索到JSF數據表中,然後直接調用該成員。我不能總是這樣做。不要問我爲什麼。 @。@紡紗頭。
有沒有辦法讓結果集而不是列表休眠?
好吧,我設法讓它工作!我很開心! 對於那些誰試圖找到如何操作由Hibernate查詢返回的名單,基本上是我所做的是..
//previous code
list = (List<MappedClass>)query.list();
從那裏清單應包括映射的類,您可以通過迭代器訪問它,然後使用getter來檢索值。 示例
//previous code
for (int i =0; i<list.size(); i ++) {
String name;
String id;
name = list.get(i).getName();
id = list.get(i).getId();
//add your data manipulation here
}
希望這會有所幫助。
哦,是*那*你的實際問題?今後,請嘗試更仔細地提問。例如。 「如何遍歷Java中的對象List?」而不是問如何實現解決方法和/或不同/錯誤的解決方案。有更好/更乾淨的方式來做到這一點,但我會把它留給你作爲練習:) – BalusC 2011-03-15 02:08:51
呃..是嗎?你能不能讓我知道?如果我的問題不是社區真正理解的,而不是英語母語人士,我很抱歉。 – 2011-03-15 06:00:50
略顯陳舊的線程,但我無法抗拒:
// Code for iterating over a list of objects
for(MappedClass mappedCless : list){
String name = mappedClass.getName();
String id = mappedClass.getId();
// further logic
}
謝謝。我可以使用這個! – 2011-11-02 01:17:08
您可能需要這個,如果你有龐大的數據庫,你可以不適合列表導致到內存中。使用滾動()而不是列表():
Query query = session.createQuery(query);
query.setReadOnly(true);
setFetchSize(Integer.MIN_VALUE); //MUST use Integer.MIN_VALUE, other value=fetch all
ScrollableResults results = query.scroll(ScrollMode.FORWARD_ONLY);
// iterate over results
while (results.next()) {
Object row = results.get();
}
results.close();
您希望Hibernate返回ResultSet而不是實體列表嗎?如果是這樣,爲什麼你需要Hibernate呢? – axtavt 2011-03-14 09:20:37
顯示至少一個例子,爲什麼'ResultSet'優於'List'。我真的無法想象任何一個。 –
BalusC
2011-03-14 11:34:49
BalusC,我從不說ResultSet比List好。我知道冬眠是有原因的。我似乎不能根據列名解析列表,例如在ResultSet中,我可以執行resultSet.getString(index)或resultSet.getString(columnName)。在列表中,顯然我不能這樣做。有什麼我可以做的嗎? – 2011-03-14 23:23:38