可以在hibernate的映射文件中做下面的声明:
<class name="com.thoughtworks.sample.domain.Account" table="accounts" optimistic-lock="all" dynamic-update="true"/>
加上这个锁后,就可以在数据操作中,多个操作冲突时,只做一个操作,然后对其他操作抛出异常:HibernateOptimisticLockingFailureException ,在程序中我们可以捕捉到这个异常后,怎么处理随便你了----你可以重新读取数据并重试整个业务流操作,也可以直接回滚事务并向用户报错。