7得票1回答
JPA:读锁是如何工作的?

我正在尝试理解调用EntityManager.lock(entity, LockModeType.READ)的效果。对我来说,API文档听起来很混乱。 如果有两个并发线程,线程1调用lock(entity, LockModeType.READ),线程2是否仍然可以读写该实体? 到目前为止,...

10得票3回答
在RESTful应用中的乐观锁定

我们正在开发一个RESTful应用程序,数据层将由Hibernate处理,但我们不确定如何处理实体的更新。 我们计划执行以下操作: 1)客户端通过id请求实体 2)Hibernate加载实体,将请求的字段(始终包括版本号)复制到DTO中,然后将其转换为JSON并发送给客户端 3)客户端管理...

7得票2回答
获取过期对象错误。乐观锁:它是如何工作的?

我认为我已经清除了所有问题,但是我不确定我是否完全理解OL。一般来说,假设你和我在一个团队中来保持foo的最新状态。我在一个房间里,决定节省时间,自己更新foo。一分钟后,你也有了同样的想法,并登录到编辑页面以更新它。如果我先完成会发生什么?如果你先完成会发生什么?在配置失败的情况下,它如何区...

8得票2回答
脏属性更改: 自从何时更改集中的值变成了字符串(而不是对象)?

我正在使用乐观锁定来防止在竞争条件下人们覆盖彼此的更改。 自从我将Rails从 5.1 升级到 5.2 后,我的规范测试出现了问题,我追踪发现,在 changes 数组中,与文件上传相关的更改不再是 Uploader 元素,而是裸字符串。 之前: [1] pry(#<User&gt...

12得票3回答
乐观锁重试机制(Spring Data + JPA)

为了提高并发性而不使用悲观锁,我们决定在我们的Web应用程序中使用乐观锁。 现在我们正在寻找重试解决方案。 我们希望对我们当前的代码库影响尽可能小。 我们在网上看到的解决方案之一是使用带有注释的重试拦截器来标记方法可重试。 问题是,我们想要注释那些带有 @Transactional 注...

9得票1回答
NHibernate的StaleObjectStateException之后如何优雅地合并对象图?

我们正在尝试在抛出StaleObjectStateException后合并对象以保存合并后的副本。 以下是我们的环境情况: - 多用户系统 - WPF桌面应用程序,SQL Server 2008数据库 - NHibernate 3.1.0.4000,FluentNHibernate 1.2...

39得票2回答
用具体(Java)示例解释乐观锁。

我花了整个上午阅读了Google搜索出来的关于乐观锁的文章, 但是我还是不太明白。 我知道乐观锁涉及添加用于跟踪记录“版本”的列,该列可以是时间戳、计数器或任何其他版本跟踪构造。但我仍然不明白如何确保写入完整性(这意味着如果多个进程同时更新同一实体,则之后,实体应正确反映其应处于的真实状态)...

8得票1回答
你如何在REST中实现粗粒度乐观锁?

我已经为我的REST资源实现了乐观锁,这些资源与数据库表具有一对一的映射关系,通过将在GET请求中返回的版本号传回到PUT请求中。如果在我执行GET和PUT之间数据库中的版本号发生更改,则会发生乐观锁异常。这是一个相当简单的设计。 现在,如何为映射到多个数据库表的复合REST资源实现相同的操...

7得票1回答
HibernateOptimisticLockingFailureException将连接标记为“关闭”?

我得到了以下堆栈跟踪: org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Object of class [com.btfin.wrapcore.request.MFRequest] ...

22得票4回答
Spring乐观锁:如何重试事务方法直到提交成功

我使用Spring 2.5和Hibernate JPA实现以及Java和“容器”管理的事务。我有一个“用户提交后”更新数据的方法,并且需要提交该方法,无论ConcurrencyFailureException或StaleObjectStateException异常是否发生,因为它永远不会显示给...