SSH整合,Query.list()方法卡死!

来源:互联网 发布:七日杀不让刷js 编辑:程序博客网 时间:2024/05/21 04:21

前天写项目中,action里调用hibernate执行数据库操作,返回的是一个list数据集,结果dao中代码执行到:

Query query=getSessionFactory().getCurrentSession()//
.createQuery("from Card");
return query.list();

卡到query.list();死活不动,调试也是走到这一步,再进就是spring的一些配置类中!!!
刚开始以为spring中对hibernate的事务管理配置写错了!!!很天真的检查了几遍啊!一个字一个字的看!没有错啊!!!
去网上查相应方法:

  1. 有说session没有关闭的,但是我是spring托管,而且用的是getCurrentSession,关闭是由spring管理的啊!
  2. 有说数据库数据量太大,妹的,我才十几条数据。。。
  3. 有说数据库连接数不够的,事实证明不是这的问题。。。

几乎都快放弃了,,,
你好歹给个错误吧,就是执行到那里不动了,也不报错也不抛异常!!!
(╯﹏╰)




你问我是怎么实现的?
不知道当时怎么想的,直接在浏览器输入了这个action,结果报错了!!!^O^

IllegalArgumentException occurred while calling setter of ecms.entity.Card.t
一百度。。。MD,就想打死自己。。。
hibernate映射出错了

  public class User {          /**用户ID**/          private long id;          /**用户登录名字*/          private String loginName;          /**用户密码*/          private String password;          /**用户名字*/          private String name;          /**版本更新*/          private long version;          /**所属角色id*/          private Role role;//用 private long roleId不对  

就是我手动配的实体类,其中一个多对一映射!!!外键用的int类型,hibernate中要用对应的实体做类型定义啊 !!!
哎基础不扎实。

1 0