Hibernate:ScrollableResults列表

时间:2014-07-16 06:02:17

标签: java hibernate

我正在尝试使用ScrollableResults从数据库中获取数据。我的部分代码如下:

List list = null;
ScrollableResults items = null;
String sql = " from " + topBO.getClass().getName(); // topBO is my parent class so i pass the any of my child class name .
StringBuffer sqlQuery = new StringBuffer(sql);
Query query = sessionFactory.getCurrentSession().createQuery(sqlQuery.toString());
items = query.scroll();
int i = 0;
TopBO topBO;
while(items.next())
{               
  topBO= (TopBO) items.get()[i];
  list.add(TopBO2); // got the exception at this line.
  i++;
  topBO= null;
}
items.close();

如果我运行上面的代码,我会收到运行时错误,如java.lang.NullPointerException

2 个答案:

答案 0 :(得分:0)

我认为topBO= (TopBO) items.get()[i];导致问题。

我建议你使用像这样的查询结果集变换器

Query query = sessionFactory.getCurrentSession().createQuery(sqlQuery.toString());
list=query.setResultTransformer(Transformers.aliasToBean(YourClassName.class)).list();

答案 1 :(得分:0)

您正尝试在列表中添加未初始化的值。

它可以帮助你:

List list = new ArrayList();

替换为

List list = null;