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 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题