C 問合せメソッドでサポートされるキーワード
次に、動的問合せメソッド名の接頭辞としてサポートされるキーワードのリストを示します。
表C-1 接頭辞としてサポートされるキーワード
接頭辞キーワード | 例 |
---|---|
findBy |
List<Customer> findByFirstName(String firstName) |
queryBy |
List<Customer> queryByFirstName(String firstName) |
getBy |
List<Customer> getByFirstName(String firstName) |
readBy |
List<Customer> readByFirstName(String firstName) |
countBy |
long countByFirstName(String firstName) - 一致する行の数を返します
|
existsBy |
boolean existsByLastName(String lastname) - 返される行数が0より大きいかどうかを返します
|
次に、動的問合せメソッド名の本体としてサポートされるキーワードのリストを示します。
表C-2 本体としてサポートされるキーワード
本体キーワード | 部分の数 | パラメータの数 | 例 |
---|---|---|---|
fieldname |
1 | 1 | List<Customer> findByLastName(String lastName) |
fieldnameReferencefieldname |
1 | 1 |
|
And |
2 | 0 | List<Customer> findByFirstNameAndLastName(String firstName, String lastName) |
Or |
2 | 0 | List<Customer> findByFirstNameOrLastName(String firstName, String lastName |
GreaterThan |
1 | 1 | List<Customer> findByAgeGreaterThan(int minAge) |
GreaterThanEqual |
1 | 1 | List<Customer> findByAgeGreaterThanEqual(int minAge) |
LessThan |
1 | 1 | List<Customer> findByAgeLessThan(int maxAge) |
LessThanEqual |
1 | 1 | List<Customer> findByAgeLessThanEqual(int maxAge) |
IsTrue |
1 | 0 | List<Customer> findByVanillaIsTrue() |
Desc |
1 | 0 | List<Customer> queryByLastNameOrderByFirstNameDesc(String lastname) |
Asc |
1 | 0 | List<Customer> getByLastNameOrderByFirstNameAsc(String lastname) |
In |
1 | 1 | List<Customer> findByAddressCityIn(List<Object> cities) - パラメータはリストにする必要があります
|
NotIn |
1 | 1 | List<Customer> findByAddressCityNotIn(List<String> cities) - パラメータはリストにする必要があります
|
Between |
2 | 2 | List<Customer> findByKidsBetween(int min, int max) |
Regex |
1 | 1 | List<Customer> findByFirstNameRegex(String regex) |
Exists |
1 | 0 | List<Customer> findByAddressCityExists() -市区町村が設定されているものをすべて検索します
|
Near |
1 | 1 | List<Customer> findByAddressGeoJsonPointNear(Circle circle) - パラメータはorg.springframework.data.geo.Circle型にする必要があります
|
Within |
1 | 1 | List<Customer> findByAddressGeoJsonPointWithin(Polygon point) - パラメータはorg.springframework.data.geo.Polygon型にする必要があります
|
IgnoreCase |
1 | 0 | List<Customer> findByLastNameAndFirstNameIgnoreCase(String lastname, String firstname); - firstNameフィールドに対してのみ大/小文字区別の無視を有効にします
|
AllIgnoreCase |
many |
0 | List<Customer> findByLastNameAndFirstNameAllIgnoreCase(String lastname, String firstname); - 適切なすべてのプロパティに対して大/小文字区別の無視を有効にします
|
Distinct |
0 | 0 | List<CustomerView> findAllDistinctByLastName(String lastName); - インタフェースCustomerViewへの射影 List<CustomerProjection> getAllDistinctByLastName(String lastName); - POJOクラスCustomerProjectionへの射影
|
Spring Data JPAドライバの問合せメソッドの完全なリストは、「Query Creation」を参照してください。