我在这里读了几个关于OptimisticLockException
与 JPA 一起使用,用于无状态会话 bean。它被抛出,但显然不是我期望的地方。
这是我期望得到异常的代码:
try
{
productFacade.edit(product);
}
catch(Exception {
return "lock";
}
The productFacade
使用 NetBeans 生成,它是一个具有本地接口的 EJB,它实现了AbstractFacade
抽象类。据我所知,这与 JPA 中的事务有关。因为异常是在该代码片段所在的方法离开之后抛出的,而不是在之后抛出的edit()
叫做。我应该在哪里处理异常?
另外,我稍后将需要事务机制,因为我将需要更新多个产品(如果某些产品被锁定,则不需要更新)。我找到了一些代码示例,但这让我想知道应该如何处理事务?
在事务提交之前不会抛出锁定错误。因此,您需要在 SessionBean 之外处理它或使用容器管理的事务。
或者,您可以在 JPA EntityManager 上调用lush(),然后将抛出错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)