hibernate取数据库得到集合问题
来源:互联网 发布:卡盟官网源码带后台 编辑:程序博客网 时间:2024/06/07 21:47
做项目的时候遇到这样的问题,hibernate执行SQL语句返回来的list集合调试断点的时候检查list集合有值,但是返回action遍历的时候在list.get(i);这句话时报异常,调试结果是list集合为空,查找到的结果就是用SQL语句不能自动转换成bean对象,所以要转换成数组形式在进行遍历,这时返回的list集合里的值就可以遍历出来了.
偷个懒把别人的代码粘过来了,还有个错误没有写,有时间在总结吧:
Hibernate执行sql语句
Hibernate执行sql语句:
BasicServiceImpl basicServiceImpl = new BasicServiceImpl();
String hql = "select * from AccountInfo where selfId='0000100003' or(left(selfId,10)='0000100004' and
nodeSum=0)";
*写SQL语句的时候做好给表名起个别名
TManager tManager = TManagerImpl.getInstance();
List accountList = tManager.getSession().createSQLQuery(hql).list();
//List accountList = tManager.getSession().createSQLQuery(hql).addEntity(AccountInfo.class).list();
for(int i=0;i<accountList.size();i++){
Object[] objects = (Object[])accountList.get(i);
for(int j=0;j<objects.length;j++){
System.out.println(objects[j].getClass().getName());// 从这个输出结果可以看出,objects[j]的
值实际上是AccountInfo的属性(表的字段)而不是AccountInfo对象,
}
System.out.println(objects.length);
}
信息: java.lang.ClassCastException:Ljava.lang.Object; cannot be cast to net.yjiasoft.sss.table.AccountInfo
分析:原来是查询出来的字段并不能自动转换为bean对象,所以要添加addEntity(Clazz class)。
来源:http://blog.163.com/ygm0104@126/blog/static/169767488201271511240611/
- hibernate取数据库得到集合问题
- 征服数据库 --- 集合hibernate
- oracle数据库中Date类型数据利用hibernate取值的位数问题
- 数据库问题集合
- 数据库问题集合
- hibernate取数据库多值如何实现
- 关于Hibernate save方法执行之后得到的id与数据库中实际存入值的id不一致的问题
- EL表达式取Map集合问题
- Hibernate跨数据库问题
- hibernate 数据库问题
- 关于hibernate中的查询得到一个集合,集合里面又是数组
- Hibernate集合排序之数据库排序
- ssh整合中,得到一个 全局 hibernate session操纵数据库
- 通过反射从数据库返回集合ResultSet中得到实体对象的list集合
- 关于hibernate集合的排序问题
- (转)hibernate 注解的问题(异常)集合
- hibernate 注解的问题(异常)集合
- hibernate 中常见的错误问题集合
- vim入门使用与配置
- HDU 4635 Strongly connected 强连通
- VS 引用WinPcap库的问题
- 【linux驱动笔记】字符设备驱动相关数据结构与算法
- 排查源码编译错误的一些技巧
- hibernate取数据库得到集合问题
- java.exe与javaw.exe的区别
- qt新手学习资料
- 一些软件所有版本下载地址 (第三期)
- 栈的数据的--新增、删除、输出
- hdu4000 Fruit Ninja(树状数组)
- Best Time to Buy and Sell Stock II
- Hive总结(七)Hive四种数据导入方式
- 今天开始我就以此账号为主博客 希望大家多多关注