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

List<Customer> findByAddressCity(String city)

class Customer { Address adress; ...}

class Address { String city; ...}

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」を参照してください。