求助Hibernate问题(我使用Criteria 查询数据库表时,当客户端调用到第3次就出现问题 )
2007-06-14 09:23
796 查看
我使用Criteria 查询数据库表时,当客户端调用到第3次就出现问题 org.hibernate.HibernateException: Not able to obtain connection at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:113) at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:88) at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1162) at org.hibernate.loader.Loader.doQuery(Loader.java:390) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218) at org.hibernate.loader.Loader.doList(Loader.java:1593) at org.hibernate.loader.Loader.list(Loader.java:1577) 以下是实现的代码 public List executequery(Session session, Object obj,int type,int initialize) throws Exception { if(obj==null){ throw new Exception("对像没有创建"); } try{ DetachedCriteria cr=DetachedCriteria.forClass(Tuser.class); Criteria crt=null; List list=null; Tuser usert=(Tuser)obj; switch(type){ case 0: cr.add(Example.create(usert)); break; case 1: if(usert.getUsername()!=null && !usert.getUsername().equals("")) cr.add(Expression.like("username","'%"+usert.getUsername()+"%'")); if(usert.getOthername()!=null && !usert.getOthername().equals("")) cr.add(Expression.like("othername","'%"+usert.getOthername()+"%'")); if(usert.getEmail()!=null && !usert.getEmail().equals("")) cr.add(Expression.like("email","'%"+usert.getEmail()+"%'")); if(usert.getState()!=null && !usert.getState().equals("")) cr.add(Expression.like("state","'%"+usert.getState()+"%'")); // crt=cr.getExecutableCriteria(session); break; } crt=cr.getExecutableCriteria(session); list=crt.list(); initialize(list); return list; }catch(Exception ex){ System.out.println("ryhyjutyjyj"); ex.printStackTrace(); } return null; } 这是调用上面方法的代码 public Object executequery(CommandDAO cmd,Object obj,int type,int initialize){ Session session=null; try{ try{ session=(Session) HibernateFactory.currentSession(); }catch(Exception ex){ System.out.println("wwwwwwwwwwwww"); ex.printStackTrace(); } Object objy=cmd.executequery(session,obj,type,initialize); if(session!=null){ session.close(); } return objy; }catch(Exception ex){ if(session!=null){ session.close(); } } finally{ if(session!=null){ session.close(); } } return null; } 以下是SERVLET凋用 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); //PrintWriter out = response.getOutputStream(); DataOutputStream out=new DataOutputStream(response.getOutputStream()); DataInputStream ino=new DataInputStream(request.getInputStream()); if(ino!=null ){ int msgtype=ino.readInt(); switch(msgtype){ case MsgType.MSG_TYPE_LOGIN: GameUsermolile login=new GameUsermolile(); Tuser user1=login.login(out,ino); Hashtable hb=(Hashtable)this.getServl etContext().getAttribute("userlist"); if(hb==null){ hb=new Hashtable();} hb.put(user1.getUserid(),user1); this.getServletContext().setAttribute("userlist",hb); request.getSession().setAttribute(user1.getUserid().toString(),user1); break; case MsgType.MSG_TYPE_REGISTER: Tuser user=new Tuser(); TuserDAOmolile userdao=new TuserDAOmolile(); user.setUsername(ino.readUTF()); user.setPassword(ino.readUTF()); user.setOthername(ino.readUTF()); user.setEmail(ino.readUTF()); user.setState("0"); try{ GameCommandDAO comdao=new GameCommandDAO(); userdao.setUser(user); Tuser usert=(Tuser)comdao.executesava(userdao); System.out.println(usert.getOthername()); //userdao.sava(user); out.writeInt(usert.getUserid().intValue());}catch(Exception ex){ ex.printStackTrace(); } break; } }else{ System.out.println("rerererererererere"); } out.close(); } |
相关文章推荐
- 关于Hibernate中fatch=eager的bag集合(一个java List)使用Criteria查询出现重复记录的问题
- Hibernate-Criteria查询(3)DetachedCriteria构造查询条件、命名查询、原生SQL、调用存储过程(使用JDBC)
- 解决Hibernate使用HQL查询出现is not mapped问题
- dll的输出函数使用__stdcall调用约定后,客户端用GetProcAddress出现的问题!
- 使用hibernate查询时,查询的数据和数据库的不一样问题
- 使用dos命令查询数据库时出现编码格式问题
- Spring Boot使用Feign客户端调用远程服务时出现:timed-out and no fallback available,failed and no fallback available的问题解决
- 使用Criteria查询级联表时出现的问题及解决
- 使用hibernate传入数据到数据库出现乱码问题解决
- 解决:hibernate查询过多时与数据库连接断开或无法再查询到数据问题。
- kindeditor在asp.net使用时,出现“从客户端中检测到有潜在危险的 Request.Form 值 ”问题。
- 关于spring-mvc中使用ajax调用后台接口出现400 bad request的问题解决方案
- 解决使用cmd或powershell进行数据库(MySQL,SQLite3...)查询时中文乱码的问题
- MyBatis(三):数据库查询结果不为空,但是使用MyBatis框架查询为空问题
- 记一次在JAVA中客户端使用axis调用webservice服务端出现的异常:Unmarshalling Error: For input string: ""
- 使用 Hibernate 在 JPA 中 调用 generateSchema 会出现执行两次 SQL 语句问题的解决方法
- hibernate使用原生sql查询Hibernate原生SQL多表查询字段名重复问题以及解决方法
- hibernate和spring整合时出现的数据库连接问题
- 用oralce连接.net客户端出现问题:“数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下以64位模式运行,”的解决办法
- hibernate3和hibernate4数据库查询使用占位符的问题