【发布时间】:2016-12-05 09:06:01
【问题描述】:
我了解 JPA 锁的原理(乐观和悲观),但注意到您应用于实体管理器、查询等的所有锁始终位于服务器端。所有 EJB 都位于服务器上,因此它们使用的事务也被锁定在服务器上。
假设您的电子商务网站的客户想要更改他的数据。用户在客户端(例如facelets)中填写他的更改,然后通过将它们发送到服务器来提交它们,然后服务器获得锁。但是,如果管理员在初始读取和获得锁定之前更改了客户数据怎么办?这会导致脏读
那么如何将锁定机制扩展到 Web 层?
我没有在网上找到一个选项,但是如果没有它,当前 JPA 的锁定 API 将毫无用处,不是吗?
【问题讨论】:
标签: java multithreading jpa locking