chang8536 2014-05-18 18:53
浏览 229
已采纳

小弟请教一个hibernate的问题,网站运行一段时间后就会出现这个错误。

type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception java.lang.RuntimeException: tx.rollbacd() throw exception = org.hibernate.TransactionException: JDBC rollback failed

 

 

com.soc.hibernate.BaseDaoHibernate.find2(BaseDaoHibernate.java:344) com.soc.index.action.IndexAction.initIndex(IndexAction.java:248)

sun.reflect.GeneratedMethodAccessor228.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453) com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255) org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept (DefaultWorkflowInterceptor.java:176) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265) org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept (AnnotationValidationInterceptor.java:68) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept (ConversionErrorInterceptor.java:138) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept (StaticParametersInterceptor.java:190) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:90) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept (ScopedModelDrivenInterceptor.java:141) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:192) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept (ExceptionMappingInterceptor.java:187) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:511) org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter (StrutsPrepareAndExecuteFilter.java:91) com.soc.filter.CharsetFilter.doFilter(CharsetFilter.java:23) com.soc.filter.EncodingFilter.doFilter(EncodingFilter.java:23) 

 

 

 

 

 

 

java action 代码:

 248行片段:

 

/**
     * @return
     * chang
     * 初始化首页
     */
    public  String initIndex(){
        
        //政府咨询
        List<D0001> list = (List<D0001>) baseDao.find2(" from D0001 d", 0, 8, "d.d0007=11 order by d.d0008 desc,d.d0004 desc").get("result");
        request.setAttribute("zfzxList", changeTitle(list));
        request.setAttribute("zfzxImg", list.get(0));
        //热点咨询
        List<D0001> listRdzt = (List<D0001>) baseDao.find2(" from D0001 d", 0, 5, "d.d0007=12 order by d.d0008 desc,d.d0004 desc").get("result");
        request.setAttribute("rdztList", changeTitle2(listRdzt));
        request.setAttribute("rdztImg", listRdzt.get(0));
        
        //需求任务
        List<D0008> listxuqiu = (List<D0008>) baseDao.find2(" from D0008 d", 0, 5, "1 = 1 order by d.d0001 desc").get("result");
        request.setAttribute("listxuqiu", changeTitle8(listxuqiu));
        request.setAttribute("listxuqiuImg", listxuqiu.get(0));
        
        
        
        //维权援助
        List<D0009> listWqyz = (List<D0009>) baseDao.find2(" from D0009 d", 0, 5, "1=1 order by d.d0001 desc").get("result");
        request.setAttribute("wqyzList", changeTitle9(listWqyz));
        request.setAttribute("wqyzImg", listWqyz.get(0));
        //政策信息
        List<D0001> listZfxx = (List<D0001>) baseDao.find2(" from D0001 d", 0, 5, "d.d0007=14 order by d.d0008 desc,d.d0004 desc").get("result");
        request.setAttribute("ZfxxList", changeTitle2(listZfxx));
        request.setAttribute("ZfxxImg", listZfxx.get(0));
        //转化成功案例
        List<D0001> listZhcgal = (List<D0001>) baseDao.find2(" from D0001 d", 0, 5, "d.d0007=15 order by d.d0008 desc,d.d0004 desc").get("result");
        request.setAttribute("listZhcgal", changeTitle2(listZhcgal));
        request.setAttribute("listZhcgalImg", listZhcgal.get(0));
        
        //发明创新指导
        List<D0001> listFmcxzd = (List<D0001>) baseDao.find2(" from D0001 d", 0, 5, "d.d0007=16 order by d.d0008 desc,d.d0004 desc").get("result");
        request.setAttribute("listFmcxzd", changeTitle2(listFmcxzd));
        request.setAttribute("listFmcxzdImg", listFmcxzd.get(0));
        
        //院校科研团队
        List<D0001> listYxkytd = (List<D0001>) baseDao.find2(" from D0001 d", 0, 5, "d.d0007=17 order by d.d0008 desc,d.d0004 desc").get("result");
        request.setAttribute("listYxkytd", changeTitle2(listYxkytd));
        request.setAttribute("listYxkytdImg", listYxkytd.get(0));

 

网站运行2--3天就会出现这种情况,请问是什么问题,求大神解救。谢谢啦。

 

  • 写回答

3条回答 默认 最新

  • leehuat 2014-05-18 19:50
    关注

    [code="java"]
    是你的事物回滚失败了

    你的hibernate链接是否加入c3p0连接池之类的

    出现这个问题的原因
    首先, 你的代码是从数据库读取用户信息, 不是写入数据. 所以不能使用事务和rollback方法.
    第二, 当你更新和插入一条记录到数据库, 使用事务的时候, 关闭数据库的自动提交. 检查你的连接池是否正常.
    第三, 当你有一个错误, 一定要关闭你的Hibernate连接. 当你捕获一个异常, 使用finally关闭hibernate Session或者数据库连接.
    另外, 可能连接池已经用完.
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀