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 CustomerViewList<CustomerProjection>
                                    getAllDistinctByLastName(String lastName); -
                                Projection to POJO class CustomerProjection |