ScrollableResults进入List引用

时间:2012-10-03 07:01:36

标签: java hibernate collections

我必须将Scrollable Results引用转换为List引用。可能吗? 当我尝试转换时,我得到例外java.lang.ClassCastException: org.hibernate.impl.ScrollableResultsImpl cannot be cast to java.util.List. 请为此问题提供解决方案....

2 个答案:

答案 0 :(得分:2)

您无法将ScrollableResults个对象转换为List。 Casting不会自动为您转换对象。您需要自己创建一个新的List,然后遍历ScrollableResults并自己将每行添加到List

ScrollableResults result = ...;

List<...> list = new ArrayList<>();

while (result.next()) {
    list.add(result.get());
}

答案 1 :(得分:1)

org.hibernate.impl.ScrollableResultsImpl未实现java.util.List接口。所以你不能把它投射到List。 您应该通过调用next方法滚动对象并按ScrollableResultsImpl#getCurrentRow()获取行值,然后插入到List中。

ScrollableResults sResult = ...;

List<Object[]> list = any list implementation; like ArrayList/LinkedList...

while (sResult.next()) {
    list.add(result.getCurrentRow());
}