hibernate原生sql查询映射java bean问题,出现Ljava.lang.object错误
来源:互联网 发布:烟台市网络党校app 编辑:程序博客网 时间:2024/06/06 04:59
如果bean不是持久化对象,即普通vo对象,单纯通过query.list()强转会出现错误,因为createSQLQuery返回的list中存放的是object[ ],即对象数组
解决方法有两种
1、遍历object[ ]来装配bean对象
List employeeData = query.list();
返回的employeeData 中的数据是object[],这样取值:
List employeeBean = new ArrayList();
for (int i = 0; i < employeeData.size(); i++) {
Employee employee = new Employee();//把"裸"数据组装到自己的employee类
Object[] object = (Object[]) employeeData.get(i);
employee.setId(object[0].toString());
employee.setName(object[1].toString());
employee.setOrgType(object[2].toString());
employeeBean.add(employee);
}
另还可以返回一个Map对象,也就是说在在list里包含多个Map,代码如下
Query query = session.createSQLQuery("select id,name from Tree t where pid in (select id from Tree) ").setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); //返回一个map,KEY:为DB中名称一致(大小写一致)遍历list时就可以
Map map = (Map)list.get[i];
map.get("id");map.get("name");来取值。按你的SQL语句select后的字段名来作为map的Key,但这个key必须与数据库中的字段名一模一样。
2、用query的api,query.setResultTransformer(Transformers.aliasToBean(XXX.class))
*注意:addScalar()方法要记得用
- hibernate原生sql查询映射java bean问题,出现Ljava.lang.object错误
- (Hibernate) java.lang.String cannot be cast to [Ljava.lang.Object select查询错误
- HibernateTemplate 查询原生sql及ljava.lang.object cannot be cast to
- hibernate 原生sql查询映射到实体bean
- Hibernate出现java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.user
- Hibernate操作Blob类型字段出现java.lang.AbstractMethodError: oracle.jdbc.driver.OracleResultSetImpl.getBlob(Ljava/lang/String;)Ljava/sql/
- hibernate 多表联合查询出现ava.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to XX
- Hibernate中用hql查询部分字段 可解决异常java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to
- Hibernate中用hql查询部分字段 可解决异常java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to
- 在hibernate中,如何把原生sql查询出来的结果映射到实体bean
- 解决Hibernate原生SQL映射问题 - SQL查询出来的结果映射为值对象
- 错误:java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to java.lang.String
- java.lang.ClassCastException: [Ljava.lang.Object;
- 解决Hibernate原生SQL映射问题
- 解决Hibernate原生SQL映射问题
- 解决Hibernate原生SQL映射问题
- Java中出现[Ljava.lang.String的问题
- Java中出现[Ljava.lang.String的问题
- 不忘初心
- 球对称广义调和形式
- Linux mount/unmount命令(转)
- Laravel regex验证的正确写法
- php闭包函数学习
- hibernate原生sql查询映射java bean问题,出现Ljava.lang.object错误
- POJ 2377
- 搜索树(未完)
- 删除和添加select下拉框选中的内容option,以及清空option选项
- 解决refreshing gradle project 和Building gradle project info 一直卡住\速度慢
- MySQL 事件、触发器、存储过程
- 多线程间共享对象和数据方式
- 欲加之罪何患无辞
- 记一次艰难的discuz xss的利用(get uc_key)