hibernate的事务读取和后续更新

时间:2010-03-08 16:48:54

标签: java hibernate

我有从数据库中读取记录的情况。如果一切正常,我将修改一些属性并提交事务。

但是在两个线程执行相同操作的情况下,它们将更新相同的记录。

如何在休眠状态下使用它?

1 个答案:

答案 0 :(得分:3)

你可以使用乐观锁定:给实体一个版本并让它抛出一个异常,如果版本不相同则再试一次因为别的东西(其他线程,集群中的其他节点甚至是一些独立的sql脚本)烦恼更新版本)改变了同一个实体。 或者你可以使用悲观锁定:真正锁定数据库中的实体。

有关详细信息,请参阅hibernate文档中的Transactions and Concurrency章节。