java.lang.ClassCastException:[Ljava.lang.Object;无法强制转换到我的自定义模型类
大家好我对hibernate查询结果有点陌生根据我的要求我必须从下面的查询中构建一个json结果我有我的模型类我将作为json响应返回query.getResult()使用对象类返回我,但类型转换不适用于我。是否有其他方法可以执行此操作。我想将查询结果映射到自定义模型对象java.lang.ClassCastException:[Ljava.lang.Object;无法强制转换到我的自定义模型类,object,casting,typecast-operator,Object,Casting,Typecast Operator,大家好我对hibernate查询结果有点陌生根据我的要求我必须从下面的查询中构建一个json结果我有我的模型类我将作为json响应返回query.getResult()使用对象类返回我,但类型转换不适用于我。是否有其他方法可以执行此操作。我想将查询结果映射到自定义模型对象 List<Object[]> result = query.getResultList(); ListIterator<Object[]> iter = result.lis
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;
}
}
List result=query.getResultList();
ListIterator iter=result.ListIterator();
List REFERE=new ArrayList();
while(iter.hasNext()){
@抑制警告(“未选中”)
referefriend=(referefriend)(Object)iter.next();
添加(referefriend);
}
返回参考;
}捕获(noresulte异常){
返回null;
}
}
iter.next()
返回对象[],但您正在将其强制转换为referefriend
看起来您需要从数组中提取数据来构造对象。
我想到了两种方法:
- 在
上创建构造函数,该构造函数将referefriend
作为参数。在构造函数内部,从该数组分配属性(在这种情况下,我建议声明属性final)对象[]
- 使用默认(无参数)构造函数构造
,并使用setter从数组中分配属性值referefriend
- 有工厂
- Fluent-builder方法
- 其他
iter.next()
返回对象[],但您正在将其强制转换为referefriend
看起来您需要从数组中提取数据来构造对象。
我想到了两种方法:
- 在
上创建构造函数,该构造函数将referefriend
作为参数。在构造函数内部,从该数组分配属性(在这种情况下,我建议声明属性final)对象[]
- 使用默认(无参数)构造函数构造
,并使用setter从数组中分配属性值referefriend
- 有工厂
- Fluent-builder方法
- 其他
iter.next()
返回Object[]
,但您正在将其强制转换为referefriend
@rkosegi是的,我知道它给了我对象数组,我必须将它映射到我的自定义模型对象,这是我的问题,我该怎么做?iter.next()
返回object[]
,但您正在将其转换为referefriend
@rkosegi是的,我知道它给了我对象数组,我必须将它映射到我的自定义模型对象,这是我的问题,我该怎么做?感谢已经尝试过的构造函数,它将对象[]作为参数,将尝试其他方法。干杯。感谢已经尝试过的构造函数,它将对象[]作为参数我们将尝试其他方法。干杯。