我在配置文件中
写上<prop key="connection.autocommit">false</prop>
也不行

解决方案 »

  1.   

    DAO里有事务处理的 是这样写的
    private Session s;
    private Transaction tr;
    public void referup(int id,int uid){
    if(s==null||!s.isOpen())
    {
    s=(Session) this.getSession();
    }
    tr=s.beginTransaction();

    try {
    Refer refer=(Refer)s.load(Refer.class, id);
    Users user=(Users)s.load(Users.class, uid);
    refer.setUsersByReferAnswerid(user);
    refer.setReferState(2);
    s.update(refer);
    tr.commit();
    } catch (HibernateException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    tr.rollback();
    }
    s.close();
    }
      

  2.   

    事务处理有问题。不能把事务定义为类的成员变量。
    private Session s;
        public void referup(int id,int uid){
            if(s==null||!s.isOpen())
            {
                s=(Session) this.getSession();
            }
            Transaction tr=s.beginTransaction();
        
            try {
                Refer refer=(Refer)s.load(Refer.class, id);
                Users user=(Users)s.load(Users.class, uid);
                refer.setUsersByReferAnswerid(user);
                refer.setReferState(2);
                s.update(refer);
                tr.commit();
            } catch (HibernateException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                tr.rollback();
            }
            s.close();
        }
      

  3.   

    就再没办法解决了吗?或者谁能给我一个 有事务处理的DAO 呀谢了
      

  4.   

    敢问用的是什么版本的数据库。
    有些数据库限制连接容量,如开发版的sql server
    我也遇到个这些问题
    换成企业版就OK了