首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

java ssh中的高并发数据处理方法!解决思路

2012-04-03 
java ssh中的高并发数据处理方法!!描述一下情况:在一个表中,某个用户登录了对其中一条数据进行了更新,但是

java ssh中的高并发数据处理方法!!
描述一下情况:
在一个表中,某个用户登录了对其中一条数据进行了更新,但是同一时间也有一个用户进行了更新,那么怎么样处理这种情况呢?
银行帐号中,某一用户对A帐号取出了100元,其中还有余额1000元,同一时间也有另外的几个用户对A帐号进行取钱,那么怎么样解决这种问题呢?

Java code
public void updateAcc(){Account ac = XXdao.getById("A");  // 同时几个用户获得ac.setYe(ac.getYe()-100); // 都进行了操作XXdao.update(ac); // 更新的时候...}

到最后的结果有没有可能是只少了100元??另外几个人就等于白拿钱了呢??
使用spring的@transactional这个只是开启了事务,并没有锁定数据,用户还是能更新的。怎么样在ssh中解决这个问题呢??
求教..

[解决办法]
看看悲观锁和乐观锁吧,我就用悲观锁给你,你在get的时候get(entityClass, id, LockMode.READ);

热点排行