日期:2014-05-20  浏览次数:20632 次

请问hibernate的两个方法如何用事务关联到一起啊?
比如我DAO层有两个方法用于转账操作,一个是转出的方法,一个是转入的方法
转出帐户方法:
Java code

       public void subMoney(int subAccountID,int exchangeMoney){
        Session session = this.getSession();
        Transaction tx = session.beginTransaction();
        String hql = "update CCBAccountPO set property = property - " + exchangeMoney +" where id = " + subAccountID;
        Query query = session.createQuery(hql);
            query.executeUpdate();
        tx.commit();
    }


转入帐户方法:
Java code

     public void addMoney(int addAccountID,int exchangeMoney){
        Session session = this.getSession();
        Transaction tx = session.beginTransaction();
        String hql = "update ICBCAccountPO set property = property +" + exchangeMoney + " where id = " + addAccountID;
        Query query = session.createQuery(hql);
        query.executeUpdate();
            tx.commit();
    }



我想让这两个方法都成功数据库才改变,这样写我试了好像事务不成功啊



------解决方案--------------------
加入spring控制事物把
------解决方案--------------------
楼主可以把方法的返回值设为boolean类型,在调用的时候,看时否更新成功.
加一个判断,如果更新成功,事务提交,不成功就回滚!
------解决方案--------------------
mark!帮LZ顶!