0

我必须将可滚动结果引用转换为列表引用。可能吗?当我尝试转换时,我遇到了异常,java.lang.ClassCastException: org.hibernate.impl.ScrollableResultsImpl cannot be cast to java.util.List. 请提供此问题的解决方案....

4

2 回答 2

2

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

ScrollableResults result = ...;

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

while (result.next()) {
    list.add(result.get());
}
于 2012-10-03T07:10:49.053 回答
1

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

ScrollableResults sResult = ...;

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

while (sResult.next()) {
    list.add(result.getCurrentRow());
}
于 2012-10-03T07:11:02.900 回答