我有一个在JSF和JPA中实现的Web应用程序。在UI中,用户可以在选择" save"之前更新一堆不同的实体。整个操作。在保存操作期间,如果两个用户正在交叉数据,其中一个将获得一个乐观的锁定异常,这一切都很好,花花公子。但是,我希望能够在处理异常时告诉哪个特定实体导致了乐观锁定异常,以便在UI中的正确行上显示标记。使用eclipselink,在针对optimisitc锁异常的catch块中,有没有办法识别导致乐观锁异常的实体?
答案 0 :(得分:3)
JPA OptimisticLockException有一个getEntity()方法,它返回导致锁定错误的对象。由JPA异常引起的EclipseLink的OptimisticLockException也有一个getObject()方法。