StaleObjectStateException或OptimisticLockingException

时间:2015-07-06 20:18:06

标签: java hibernate jpa transactions optimistic-locking

在哪里可以找到有关基于版本的乐观锁定保存操作中捕获的异常的信息。

互联网上的文字"建议Hibernate自己或JPA的OptimisticLockingException中的任何一个,但是当我这样做时,我发现在我的基于Hibernate 4.3 Session的应用程序中,这种类型的异常由{{1}来承载}。

这些建议的不同让我想知道"真正的"方法是什么。

另外,我准备从Hibernate Session转到JPA。这个问题(我的)有标准吗?那会是什么?

干杯 垫

1 个答案:

答案 0 :(得分:2)

这取决于您要使用的API。

  1. 如果您使用JPA和EntityManager接口,那么Hibernate将简单地将[StaleStateException][1]StaleObjectStateException的基类)包装在javax.persistence.OptimisticLockingException

  2. 如果您通过Session界面使用特定于Hibernate的API,那么您将获得StaleObjectStateException