パッケージ jakarta.data.repository
アノテーションインターフェース By
リポジトリメソッドのパラメーターにアノテーションを付け、永続フィールドへのマッピングを指定します。
- フィールド名が指定されている場合、パラメーターは指定された名前の永続フィールドにマップされます。
- 特殊値「id(これ)」が指定されている場合、パラメーターは一意の識別子フィールドまたはプロパティにマップされます。
アノテーション付きパラメーターへの引数は、マップされた永続フィールドの値と比較されます。
フィールド名は、address.city のような複合名にすることができます。
たとえば、属性 ssn、firstName、lastName、address を持つ Person エンティティの場合、次のようになります。
@Repository
public interface People {
@Find
Person findById(@By(ID) String id); // maps to Person.ssn
@Find
List<Person> findNamed(@By("firstName") String first,
@By("lastName") String last);
@Find
Person findByCity(@By("address.city") String city);
}
メソッドパラメーター名がエンティティ属性名と一致し、実行時にパラメーター名を使用できるようにする -parameters コンパイラーオプションを使用してアプリケーションがコンパイルされている場合、By アノテーションは不要です。
このコンパイラーオプションを有効にすると、前の例は By を使用せずに記述できます。
@Repository
public interface People {
@Find
Person findById(String ssn);
@Find
List<Person> findNamed(String firstName,
String lastname);
@Find
Person findByCity(String address_city);
}
必須定数のサマリー
必須要素フィールド概要
フィールド