パッケージ jakarta.persistence

列挙型クラス PessimisticLockScope

java.lang.ObjectSE
java.lang.EnumSE<PessimisticLockScope>
jakarta.persistence.PessimisticLockScope
実装されたすべてのインターフェース:
FindOptionLockOptionRefreshOptionSerializableSEComparableSE<PessimisticLockScope>ConstableSE

public enum PessimisticLockScope extends EnumSE<PessimisticLockScope> implements FindOption, RefreshOption, LockOption
悲観的ロックの jakarta.persistence.lock.scope プロパティの値を定義します。このプロパティは、EntityManagerQueryTypedQuery インターフェースのメソッドに引数として渡すことができます。これにより、ロックモードを指定したり、NamedQuery アノテーションで使用したりできます。
導入:
2.0
  • 列挙型定数の詳細

    • NORMAL

      public static final PessimisticLockScope NORMAL
      この値は、悲観的ロックのデフォルトの動作を定義します。

      永続性プロバイダーは、そのインスタンスのコレクション値ではない永続的な状態に対応するデータベース行をロックする必要があります。結合された継承戦略が使用されている場合、またはエンティティがセカンダリテーブルにマップされている場合、これには、追加のテーブル内のエンティティインスタンスの行をロックする必要があります。ロックされたエンティティに外部キーが含まれているエンティティ関連もロックされますが、参照されているエンティティの状態はロックされません(これらのエンティティが明示的にロックされている場合を除く)。エンティティに外部キーが含まれていない要素コレクションおよび関連(結合テーブルにマップされている関連や、ターゲットエンティティに外部キーが含まれている単方向の 1 対多の関連など)は、デフォルトではロックされません。

    • EXTENDED

      public static final PessimisticLockScope EXTENDED
      NORMAL に指定されたロック動作に加えて、プロパティ jakarta.persistence.lock.scope が PessimisticLockScope#EXTENDED の値で指定されている場合、結合テーブルに含まれるエンティティが所有する要素のコレクションと関連がロックされます。このような関連によって参照されるエンティティの状態は、(それらのエンティティが明示的にロックされていない限り) ロックされません。このようなリレーションシップまたは要素コレクションをロックすると、通常、そのリレーションシップまたはコレクションの結合テーブルまたはコレクションテーブル内の行のみがロックされます。つまり、ファントムの可能性があるということです。
  • メソッドの詳細

    • values

      public static PessimisticLockScope[] values()
      この列挙型クラスの定数を含む配列を、宣言されている順序で返します。
      戻り値:
      この列挙型クラスの定数を宣言された順序で含む配列
    • valueOf

      public static PessimisticLockScope valueOf(StringSE name)
      指定された名前でこのクラスの列挙型定数を返します。文字列は、このクラスで列挙型定数を宣言するために使用される識別子と正確に一致する必要があります。(余分な空白文字は許可されません。)
      パラメーター:
      name - 返される列挙定数の名前。
      戻り値:
      指定された名前の列挙定数
      例外:
      IllegalArgumentExceptionSE - この列挙型クラスに指定された名前の定数がない場合
      NullPointerExceptionSE - 引数が null の場合