最近在开发中遇到个棘手的问题,我在同一个方法中做了多次数据库操作,可能是jdbc或者hibernate,每调用一个数据库操作的时候都是先打开连接,用完之后再关闭的,可是这样做在第二次数据库操作的时候就会提示 connection proxy not usable after tranaction completion。怎么会出现这种情况,在线的等待。

解决方案 »

  1.   

    hibernate是3.2么?
    信息太少,无法回答,至少把那个连接池产品写出来吧!
      

  2.   

    很不幸,这个是hibernate的bug.换版本吧
      

  3.   

    应该是hibernate代码没处理好,否则不会提示事件关闭后连接不可用的信息了
      

  4.   

    Debug撒,一步一步看,找不出估计就是楼上说的
      

  5.   

    应该是包冲突了,删除重复的包
    好象是asm.jar
      

  6.   

    根据信息提示是你的上一个数据库操作没有关闭
    你的信息提供的太少
    猜测一下,你的上一个数据库操作加了事务控制,但是你开始了事务而没有提交事务,
    查查你的SQL语句,或者存储过程
      

  7.   

    你把vo.hbm.xml里面的<class><set>等能加lazy的标签都设置为lazy="false"试试,不知道是不是
      

  8.   

    拿出证据说BUG.可能是jdbc或者hibernate
    楼主这是什么意思?在你的工程中,两都共存??
      

  9.   

    对于JDBC使用了错误的事务管理Hibernate的事务管理为org.springframework.orm.hibernate3.HibernateTransactionManagerJDBC的为org.springframework.jdbc.datasource.DataSourceTransactionManager
      

  10.   


    不要光说,找到JIRA帖上来~~