StringBuffer sb = new StringBuffer();
sb.append(" select * from Order where id in(:ids)");
Query query = getSession().createSQLQuery(sb.toString());
query.setParameterList("ids",ids);
List<Order> results = (List<Order>)query.list();
越来越 java.lang.ClassCastException:[Ljava.lang.Object;无法转换为com.test.entity.Order
即使我尝试过如下,但没有改善,同样的错误。
List<?> list = query.list();
final List<Order> results = new ArrayList<Order>(list.size());
for(final Object obj : list) {
results.add((Order)obj);
}
最后我终于尝试了.addEntity(Order.class)。然后它正在工作。但是由于大量的结果和数据,它需要很长时间。请提出一些解决方案。
答案 0 :(得分:0)
您的查询返回Order的字段数组,因此您无法直接将其强制转换为Order。可能的解决方案: