共享数据库中的并发控制

时间:2013-03-12 10:00:20

标签: hibernate jdbc orm locking database-concurrency

假设我有一个由多个应用程序共享的数据库。一个应用程序使用基于ORM的方法(比如说hibernate)进行持久化,另一个应用程序使用sql进行持久化。对数据库执行写操作。

如果我们选择乐观锁定选项,我们如何才能确保并发控制? 如果使用SQL插入数据,Hibernate会自动同步持久对象

1 个答案:

答案 0 :(得分:0)

  • 使用SQL的应用程序可以手动进行乐观锁定。我将在下面解释。

  • 使用Hibernate的应用程序不会知道其他应用程序新插入的对象,但是当它加载更新陈旧数据并与其他应用程序冲突时,它可以抛出。 HIbernate使用这种方式(乐观锁定)来保护更新其他用户先前加载和更新的陈旧数据。

  • 我们可以使用verion属性手动使用乐观锁定:

    更新table1 set name ='new name',version = version + 1,其中version = versionLoadedBeforeUpating且id = 1234;