Supported Keywords in Derived Queries
The following is the list of supported keywords for prefix in the derived query method name.
Table 1-7 Supported Keywords for Prefix
Prefix Keyword | Example |
---|---|
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) - returns the count of the matching rows
|
existsBy |
boolean existsByLastName(String lastname) - returns true if returned rows > 0
|
The following is the list of supported keywords for body in the derived query method name.
Table 1-8 Supported Keywords for Body
Body Keyword | No. of Parts | No. of Params | Example |
---|---|---|---|
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) - param must be a List
|
NotIn |
1 | 1 | List<Customer> findByAddressCityNotIn(List<String> cities) - param must be a List
|
Between |
2 | 2 | List<Customer> findByKidsBetween(int min, int max) |
Regex |
1 | 1 | List<Customer> findByFirstNameRegex(String regex) |
Exists |
1 | 0 | List<Customer> findByAddressCityExists() - find all that have a city set
|
Near |
1 | 1 | List<Customer> findByAddressGeoJsonPointNear(Circle circle) - param must be of org.springframework.data.geo.Circle type
|
Within |
1 | 1 | List<Customer> findByAddressGeoJsonPointWithin(Polygon point) - param must be of org.springframework.data.geo.Polygon type
|
IgnoreCase |
1 | 0 | List<Customer>
findByLastNameAndFirstNameIgnoreCase(String lastname, String
firstname); -Enable ignore case only for firstName
field
|
AllIgnoreCase |
many |
0 | List<Customer>
findByLastNameAndFirstNameAllIgnoreCase(String lastname, String
firstname); - Enable ignore case for all suitable
properties
|
Distinct |
0 | 0 | List<CustomerView>
findAllDistinctByLastName(String lastName); -
Projection to interface CustomerView
List<CustomerProjection>
getAllDistinctByLastName(String lastName); -
Projection to POJO class CustomerProjection
|