EntityManager JPA 1.0 LockModeType行为

时间:2013-07-26 10:14:25

标签: sql-server hibernate jpa locking

我在我的代码中使用了以下语句。

entityManager.lock(employee,LockModeType.WRITE);

我正在使用JPA 1.0并使用EJB 3.0无状态会话Bean来管理事务,也使用SQL Server作为数据库。

目前,我的实体名为Entity中没有任何版本列。

我们是否需要在事务完成后明确释放锁,或者EJB已经解决了这个问题?

1 个答案:

答案 0 :(得分:0)

java EE 6有LockModeType.NONE(JPA 2有它),您可以手动释放锁定:em.lock(obj, LockModeType.NONE)

我认为事务提交应该释放为提交的对象获取的所有锁。 EJB在那里没有做任何事情,所有这些都是jpa而且它是impl。

同时检查this