パッケージ jakarta.persistence.spi

インターフェース ProviderUtil


  • public interface ProviderUtil
    永続性プロバイダーによって実装されたユーティリティインターフェース。このインターフェースは、PersistenceUtil 実装によって呼び出され、エンティティまたはエンティティ属性のロード状況を判別します。
    導入:
    2.0
    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   抽象メソッド  
      修飾子と型 メソッド 説明
      LoadStateisLoaded​(ObjectSE entity)
      プロバイダーが、エンティティがそれ自体で提供され、FetchType.EAGER が指定されているすべての属性の状態がロードされていると判断した場合、このメソッドは LoadState.LOADED を返します。
      LoadStateisLoadedWithoutReference​(ObjectSE entity, StringSE attributeName)
      プロバイダーが、エンティティがそれ自体で提供され、指定された属性の状態がロードされたと判断した場合、このメソッドは LoadState.LOADED を返します。
      LoadStateisLoadedWithReference​(ObjectSE entity, StringSE attributeName)
      プロバイダーが、エンティティがそれ自体で提供され、指定された属性の状態がロードされたと判断した場合、このメソッドは LoadState.LOADED を返します。
    • メソッドの詳細

      • isLoadedWithoutReference

        LoadState isLoadedWithoutReference​(ObjectSE entity,
                                           StringSE attributeName)
        プロバイダーが、エンティティがそれ自体で提供され、指定された属性の状態がロードされたと判断した場合、このメソッドは LoadState.LOADED を返します。

        プロバイダーが、エンティティがそれ自体で提供され、FetchType.EAGER のエンティティ属性がロードされていない、または指定された属性の状態がロードされていないと判断した場合、このメソッドは LoadState.NOT_LOADED を返します。

        プロバイダーがロード状態を判別できない場合、このメソッドは LoadState.UNKNOWN を返します。

        エンティティが別のプロバイダーによって提供された場合、エンティティ状態のロードをトリガーする可能性があるため、このメソッドのプロバイダーの実装は、属性値への参照を取得してはなりません。

        パラメーター:
        entity - エンティティインスタンス
        attributeName - ロードステータスを決定する属性の名前
        戻り値:
        属性のロードステータス
      • isLoadedWithReference

        LoadState isLoadedWithReference​(ObjectSE entity,
                                        StringSE attributeName)
        プロバイダーが、エンティティがそれ自体で提供され、指定された属性の状態がロードされたと判断した場合、このメソッドは LoadState.LOADED を返します。

        プロバイダーが、エンティティがそれ自体で提供され、FetchType.EAGER のエンティティ属性がロードされていないか、指定された属性の状態がロードされていないと判断した場合、このメソッドは LoadState.NOT_LOADED を返します。

        プロバイダーがロード状態を判別できない場合、このメソッドは LoadState.UNKNOWN を返します。

        このメソッドのプロバイダーの実装は、属性値への参照を取得することを許可されています。(属性状態のロードをトリガーする可能性のあるプロバイダーは、isLoadedWithoutReference によってすでに決定されているため、このアクセスは安全です。)

        パラメーター:
        entity - エンティティインスタンス
        attributeName - ロードステータスを決定する属性の名前
        戻り値:
        属性のロードステータス
      • isLoaded

        LoadState isLoaded​(ObjectSE entity)
        プロバイダーが、エンティティがそれ自体で提供され、FetchType.EAGER が指定されているすべての属性の状態がロードされていると判断した場合、このメソッドは LoadState.LOADED を返します。

        プロバイダーが、エンティティがそれ自体で提供されており、FetchType.EAGER のすべての属性がロードされているわけではないと判断した場合、このメソッドは LoadState.NOT_LOADED を返します。

        プロバイダーがエンティティがそれ自体で提供されているかどうかを判別できない場合、このメソッドは LoadState.UNKNOWN を返します。

        エンティティが別のプロバイダーによって提供された場合、エンティティ状態のロードをトリガーする可能性があるため、このメソッドのプロバイダーの実装は、属性値への参照を取得してはなりません。

        パラメーター:
        entity - ロードされたステータスが決定されます
        戻り値:
        エンティティのロードステータス