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