パッケージ 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); }
必須定数のサマリー
必須要素フィールドのサマリー
フィールド