今天遇到这个问题.情况是hibernate选择记录集后转化为对象时出现,
原因是返回的集合依据 detachedCriteria 的不同可能是多种类型的 mode集合.这时候就需要 List<Object[]> 但有时候却只返回一种 model类型,这时候又需要具体的指定,如 List<Comment>
我是这样解决的:
List<?> c = hibernateTemplate.findByCriteria(detachedCriteria,firstResult,maxResults);
List<Comment> firstList = new ArrayList<Comment>();
try{
@SuppressWarnings("unchecked")
List<Object[]> co = (List<Object[]>) c;
for(int i=0;i<c.size();i++){
firstList.add((Comment) co.get(i)[1]);//co.get(i)[1] 或者 co.get(i)[0] 需要依据实际选定
}
}catch(ClassCastException e){
for(int i=0;i<c.size();i++){
firstList.add((Comment) c.get(i));
}
}