StaleObjectStateException 或 OptimisticLockingException

问题描述 投票:0回答:1

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

“互联网”上的文本建议使用 Hibernate 自己的或 JPA 的

OptimisticLockingException
,但当我这样做时,我发现在我的基于 Hibernate 4.3 会话的应用程序中,这种类型的异常由
org.hibernate.StaleObjectStateException
携带。

建议的差异让我想知道“真正”的方法是什么。

此外,我已经准备从 Hibernate Session 迁移到 JPA。 (我的)这个问题有标准吗?那会是什么?

干杯 垫子

java hibernate jpa transactions optimistic-locking
1个回答
3
投票

这取决于您要使用的 API。

  1. 如果您使用 JPA 和

    EntityManager
    接口,那么 Hibernate 将简单地将
    StaleStateException
    (它是
    StaleObjectStateException
    的基类)包装在
    OptimisticLockingException
    中。

  2. 如果您通过

    Session
    接口使用 Hibernate 特定的 API,您将得到
    StaleObjectStateException

© www.soinside.com 2019 - 2024. All rights reserved.