0

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

entityManager.lock(员工, LockModeType.WRITE);

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

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

我们是否需要在事务完成后显式释放锁,或者 EJB 已经处理了这个问题?

4

1 回答 1

0

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

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

也检查一下

于 2013-07-27T04:46:04.743 回答