パッケージ jakarta.persistence

インターフェース AttributeConverter<X,Y>

型パラメーター:
X - ターゲットの型、つまりエンティティ属性の型
Y - データベース列の型を表す基本型

public interface AttributeConverter<X,Y>
カスタム属性コンバーターによって実装されるインターフェース。コンバーターは、以下の間で変換を行うメソッドを持つクラスです。
  • コンバーターのターゲット型、永続フィールドまたはプロパティの型として使用できる任意の Java 型、および
  • データベース表現へのマッピングの中間ステップとして使用される基本型

コンバーターを使用すると、その値を基本型のインスタンスとして表すことができるため、変換されたフィールドまたはプロパティは Basic とみなされます。

コンバータークラスには、Converter アノテーションを付けるか、オブジェクト / リレーショナルマッピング記述子でコンバーターとして宣言する必要があります。autoApply の値は、コンバーターがターゲット型の永続フィールドとプロパティに自動的に適用されるかどうかを決定します。Convert アノテーションは、autoApply=false として宣言されたコンバーターを適用したり、明示的に変換を無効にしたり、複数のコンバーターが適用される場合のあいまいさを解決したりするために使用できます。

ターゲット型 X と変換後の基本型 Y は同じ Java 型である可能性があることに注意してください。

関連事項:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    エンティティ属性に格納されている値を、データベースに格納されるデータ表現に変換します。
    データベース列に格納されているデータを、エンティティ属性に格納される値に変換します。
  • メソッドの詳細

    • convertToDatabaseColumn

      Y convertToDatabaseColumn(X attribute)
      エンティティ属性に格納されている値を、データベースに格納されるデータ表現に変換します。
      パラメーター:
      attribute - 変換されるエンティティ属性値
      戻り値:
      データベース列に格納される変換されたデータ
    • convertToEntityAttribute

      X convertToEntityAttribute(Y dbData)
      データベース列に格納されているデータを、エンティティ属性に格納される値に変換します。

      JDBC ドライバーで使用するために、対応する列に正しい dbData 型を指定するのはコンバーター作成者の責任であることに注意してください。つまり、永続化プロバイダーはそのような型変換を行うことは期待されていません。

      パラメーター:
      dbData - 変換されるデータベース列のデータ
      戻り値:
      エンティティ属性に格納される変換された値