kevin-go 2014-01-16 14:14 采纳率: 0%
浏览 3548

S2SH框架中用session.createQuery(hql)查询出异常.

本人搭了个s2sh的框架,在用session.createQuery(hql)查询的时候出现异常,起先我以为是session未获取到,后来验证session是获取到了的,传入的参数也是获取到了的,但是还是有异常.代码如下,里面做了大量的打印语句来验证对象是否为空.public User findUser(User user) {
if(user!=null){
Session session=this.getSession();
if(session!=null){
System.out.println("Good!获取到了session"+
"打开的吗?"+session.isOpen()+" 连接的吗?"+
session.isConnected()
);
String hql="from User user where id=?";
System.out.println("传入dao层的用户名是:"+user.getId());
Query query=session.createQuery(hql).setInteger(0, user.getId());
System.out.println("##########查询结束!#################");
List list=query.list();
if(list!=null&&list.size()==1){
user=(User) list.get(0);
System.out.println(user.getEmail());
}else{
System.out.println("user没查到");
user=null;
}
}else{
System.out.println("FUCK!session没获取到!");
}
}else{
System.out.println("dao层获得的user是空的.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
}
return user;
}

这是浏览器请求后控制台的打印:
Good!获取到了session打开的吗?true 连接的吗?true
传入dao层的用户名是:100000
这说明session是获取到了的,hql中的id也是获取到了的,但是再查询的时候就异常了,导致后面的System.out.println("##########查询结束!#################");语句没有执行,但是我在Test类中用这个方法却能查询到数据.
请问大家我该怎么继续调试.?

  • 写回答

2条回答 默认 最新

  • yangdd1205 2014-01-16 15:12
    关注

    可能是 第一次查询完成后session已经自动关闭了,后面的查询要手动打开session

    评论

报告相同问题?

悬赏问题

  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决