今天测试人员告诉说:并发时,产生了问题,无耐只能看一看了。考虑到要加锁处理。
网上搜索了一下,hibernate 的处理有悲观锁和乐观锁。
悲观锁是采用数据库底层处理,运行数据的加锁机制。
乐观锁是可以在表中加上一个字段来处理。version,通过判断,version是否过期来判断,要修改的数据是否过期。
因为并发数对系统的要求也不是太高,所以,就采用悲观锁试一试。
在语句中加入:query.setLockMode("对象",LockMode.UPGRADE);
但是在我的程序中,一直抱错,也不知道为什么。原理是好的,可以理解,但是运行起来还真不行。
乐观锁觉得还不错,还没有用起来,有时间写一个例子看一看吧。
参考资料:
http://blog.csdn.net/xfans12000/archive/2007/03/02/1519699.aspx