比如我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顶!