我使用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();
}
分享到:
相关推荐
7. **社区求助**:如果问题复杂,难以定位,可以在相关的开发者社区如Stack Overflow、GitHub或中国的CSDN、掘金等平台上发帖求助,提供详细的错误信息和复现步骤,以便他人帮助解决。 综上所述,解决"hibernate的...
在使用MyEclipse集成开发环境和Hibernate框架进行Java Web应用开发时,可能会遇到一个常见的问题,即"Could not get list of suggested identity strategies from database"。这个错误信息表明Hibernate在尝试获取...
求助编辑百科名片相对悲观锁而言,乐观锁机制采取了更加宽松的加锁机制。悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。但随之而来的就是数据库 性能的大量开销,特别是对长事务而言,...
Struts2、Spring和Hibernate是Java Web开发中的三大主流框架,它们组合在一起可以构建出高效、灵活的企业级应用程序。这个“struts2+spring+...如果你在使用过程中遇到问题,可以通过提供的QQ群进行交流和求助。
如果问题仍然无法解决,可以尝试在专业论坛或社区发帖求助,提供详细的问题描述和相关代码片段,以便他人能更好地理解并帮助解决问题。 在实际开发过程中,SSH整合的难度在于理解和协调各个框架之间的交互,以及...
SSH框架整合是Java Web开发中常见的一种技术组合...如果在整合过程中遇到问题,可以通过查阅文档、社区资源或向有经验的开发者求助来解决问题。在实际应用中,还需要考虑安全性、性能优化等因素,以构建更健壮的系统。
5. 社区求助:如果以上步骤都无法解决问题,可以尝试在论坛(如给出的链接ITEYE博客)上提问,或者在GitHub等社区寻求帮助,分享问题的详细信息和复现步骤。 总的来说,解决“未找到父项关键字”的问题需要对编程...
【标题】"S2SH不完整版" 涉及的知识点主要集中在Struts2、Spring和Hibernate(简称S2SH)...同时,社区求助也是解决此类问题的有效途径,可以尝试在Stack Overflow或其他开发者论坛上发布问题,寻求同行的帮助和建议。
《J2EE项目-在线求助系统》是一个基于J2EE架构设计的课程大作业,旨在为学生提供一个学习和实践的平台。这个项目利用了MyEclipse作为开发环境,SpringMVC作为主要的控制层框架,展示了J2EE在实际应用中的强大功能。...
描述中提到的"流程"问题,指的是整合过程中需要遵循的一系列步骤,包括导入框架库、配置web.xml、编写struts.xml、hibernate.cfg.xml和spring配置文件等。jar的错误通常是指引入的库版本不正确或重复,可能导致类...
- **社区求助**:如果问题仍然无法解决,可以在Stack Overflow等开发者社区提问,寻求其他开发者的帮助。 4. **最佳实践**: - **合理设计数据模型**:避免过度级联,以防止数据冗余和不必要的复杂性。 - **明确...
在解决数据库加载失败的问题时,实习生通过多种途径,包括论坛求助和同学指导,最终找到了问题的解决办法,这可能涉及到SQL Server的更新、数据库连接配置的准确性,以及服务器版本的兼容性等问题。 这个实习过程...
在解决这些问题的过程中,评论区可以作为一个求助的平台,你可以将错误信息或具体问题描述贴出来,其他开发者或作者可能会提供帮助。同时,理解并学习这个博客系统的源码也是一个提升Java Web开发技能的好机会。
8. **问题解决**:实习生通过查找资料、论坛求助和同学指导,解决了数据库加载失败的问题,这体现了在实际工作中解决问题的能力和团队合作的重要性。 9. **数据库迁移**:实习生尝试将数据库系统从SQL Server 2000...
在描述中提到,开发者在公司使用SSH(Struts、Spring、Hibernate)开发项目,但在个人环境中遇到了问题。在Windows操作系统中,JDK的卸载通常可以通过控制面板的“添加或删除程序”完成。如果出现卸载困难,可能是...
4. **求助他人**:当个人努力仍然无法解决问题时,可以寻求同事或网络社区的帮助。 ### 与客户的沟通技巧 实习期间,与客户的有效沟通对于项目的顺利进行至关重要。需要注意以下几点: - **倾听客户需求**:耐心...
4. 网络搜索和社区求助:遇到疑难问题,可以在Stack Overflow等技术论坛上寻找解决方案。 总的来说,SSH配置需要对Java、XML配置和Web开发有一定的理解。通过细心配置和处理异常,可以构建出稳定且易于维护的企业级...
4. **社区求助**:如iteye这样的技术社区通常有很多类似问题的讨论,可以从中获取帮助。 5. **调试和日志**:通过调试和查看日志,找出问题的根源。 最后,了解并掌握Seam的反向工程机制,以及如何有效地调试和解决...
问题解答模块可以实现一对一的求助与帮助;资源分享部分可以存放学习资料,方便大家查阅;活动发布则可以让学生组织各类校园活动,并进行报名管理。 5. **系统架构设计**:基于SSH的系统通常采用三层架构,包括表现...
咨询求助模块则为师生提供了在线求助平台,用户可以选择问题类型、教学楼并输入问题,允许匿名回复,增强了互动性和解决问题的效率。 该系统的开发采用了SSH(Struts + Spring + Hibernate)架构,这是一种常见的...