2012-01-31 48 views
1

我有一个在JSF和JPA中实现的Web应用程序。在UI中,用户可以在选择“保存”整个操作之前更新一堆不同的实体。在保存操作期间,如果有两个用户正在穿越数据,其中一个用户会得到一个乐观的锁定异常,这一切都很好,很花哨。但是,我希望能够在处理异常时分辨出哪个特定实体导致了乐观锁定异常,以便在UI中正确的行上显示标记。使用eclipselink,在optimisitc锁异常的catch块中,是否有一种方法可以识别导致乐观锁异常的实体?确定哪个实体导致乐观锁异常

回答

3

JPA OptimisticLockException有一个getEntity()方法,该方法返回导致锁定错误的对象。由JPA异常引起的EclipseLink的OptimisticLockException也有getObject()方法。

+0

谢谢詹姆斯。我显然具有高质量的RTFM技能:P – lscoughlin 2012-01-31 14:26:54

+2

我看过getObject()返回null的情况。 – NBW 2014-01-09 22:33:18