我在我的代码中使用了以下语句。
entityManager.lock(employee,LockModeType.WRITE);
我正在使用JPA 1.0并使用EJB 3.0无状态会话Bean来管理事务,也使用SQL Server作为数据库。
目前,我的实体名为Entity中没有任何版本列。
我们是否需要在事务完成后明确释放锁,或者EJB已经解决了这个问题?
答案 0 :(得分:0)
java EE 6有LockModeType.NONE(JPA 2有它),您可以手动释放锁定:em.lock(obj, LockModeType.NONE)
我认为事务提交应该释放为提交的对象获取的所有锁。 EJB在那里没有做任何事情,所有这些都是jpa而且它是impl。
同时检查this