【发布时间】:2014-07-05 00:17:44
【问题描述】:
我有这个存储库调用:
@Query("select t1.field1, t2.field2, t3.field3 from t1 join t1.t2 join t1.t3 where t1.id = :idUser")
List<Object> getUserProfile(@Param("idUser") String idUser);
我尝试从结果集中获取值如下:
if (obj != null) {
for(Object oArray : obj) {
Object[] o= (Object[]) oArray;
..
}
如果 t2.field2
为空,数组“o”具有以下索引:o[0]、o[2],因此一旦我遍历索引 1,就会出现异常,因为索引 1 不存在。如您所见,索引不是连续的 [0,1,2]。
解决方法是验证查询中的空值。但我想这对开发人员来说并不好,或者至少 Hibernate 不希望这样做。
Roo 1.2.4; Java 1.7;春季 3.2,休眠 4.2.2
但是,如果这是 Hibernate 中的错误,这可能是一个巨大的问题。有人可以帮助我解决这个疑问吗?
谢谢! /JR。
【问题讨论】:
标签: hibernate spring-mvc spring-roo