Hello Everyone我有点新的hibernate查询结果和东西根据我的要求我必须从以下查询构建一个json结果我有我的模型类,我将作为json响应返回,query.getResult()返回我的对象类,但类型转换对我不起作用是否有任何替代方法。我想用我的自定义模型对象映射查询结果。
List<Object[]> result = query.getResultList();
ListIterator<Object[]> iter = result.listIterator();
List<ReferFriend> refer=new ArrayList<>();
while (iter.hasNext()){
@SuppressWarnings("unchecked")
ReferFriend referFriend= (ReferFriend) (Object)iter.next();
refer.add(referFriend);
}
return refer;
} catch (NoResultException e) {
return null;
}
}
答案 0 :(得分:0)
iter.next()
返回Object [],但您将其转换为ReferFriend
看起来你需要从数组中提取数据才能构造你的对象。 有几种方法可以想到:
在ReferFriend
上创建构造函数,该构造函数以Object[]
为参数。内部构造函数从该数组中分配属性(在这种情况下,我建议声明属性 final )
使用默认(无参数)构造函数构造ReferFriend
,并使用setter从数组中指定属性值。
有工厂
流利的建设者方法
其他
答案 1 :(得分:0)
我得到了这个Now.I将结果存储为对象数组并迭代它。然后我将每个元素显式地转换为我的pojo类元素。我之前遇到的问题是查询结果为大整数的第一个参数我的pojo有Int领域。谢谢@rkosegi。