忽略乐观锁定。

3
我有一个包含@version字段的实体。 有时候我需要更新它,尽管会出现乐观锁异常。
在这种情况下,我能否关闭乐观锁机制?或者我应该重新加载实体,并重试n次直到它更新?
1个回答

0

您可以直接使用连接进行工作:

org.hibernate.Session.doWork(Work work)

但是,这样会导致最后写入的数据覆盖之前的数据。最好使用事务隔离级别来执行行锁定。但是,数据库必须支持它们。

Hibernate 3.xSession.connection(),但在4中已经被删除。


在我的情况下,有时我需要使用“先写入者获胜”,有时我需要使用“后写入者获胜”。如果我通过服务和DAO类使用Hibernate,如何正确地编写“Session.doWork”?我不想更改我的DAO并编写专门用于直接连接的特殊方法,这是唯一的解决方案吗? - user1406196

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接