Spring Data JPA Derived Query Keywords

These examples assume a Customer entity with fields:

private String name;
private Double salary;
private Address permanentaddress;

1. Equal Condition

List findByName(String name);

SQL: SELECT * FROM customer WHERE name = ?

2. Greater Than

List findBySalaryGreaterThan(Double salary);

SQL: SELECT * FROM customer WHERE salary > ?

3. Less Than

List findBySalaryLessThan(Double salary);

SQL: SELECT * FROM customer WHERE salary < ?

4. Between

List findBySalaryBetween(Double min, Double max);

SQL: SELECT * FROM customer WHERE salary BETWEEN ? AND ?

5. Is Null

List findByTemporaryadressIsNull();

SQL: SELECT * FROM customer WHERE temp_area IS NULL

6. Is Not Null

List findByPermanentaddressIsNotNull();

SQL: SELECT * FROM customer WHERE perm_area IS NOT NULL

7. Containing

List findByNameContaining(String name);

SQL: SELECT * FROM customer WHERE name LIKE %?%

8. Starting With

List findByNameStartingWith(String name);

SQL: SELECT * FROM customer WHERE name LIKE ?%

9. Ending With

List findByNameEndingWith(String name);

SQL: SELECT * FROM customer WHERE name LIKE %?

10. And Condition

List findByNameAndSalary(String name, Double salary);

11. Or Condition

List findByNameOrSalary(String name, Double salary);

12. Order By

List findAllByOrderByNameAsc();
List findAllByOrderBySalaryDesc();

13. Top Results

List findTop3ByOrderBySalaryDesc();

14. First Result

Customer findFirstByOrderBySalaryDesc();

15. Ignore Case

List findByNameIgnoreCase(String name);

16. In

List findByNameIn(List names);

17. Not In

List findByNameNotIn(List names);

Commonly Used Keywords

KeywordMeaning
GreaterThanvalue greater than
LessThanvalue less than
Betweenvalue between range
IsNullfield is null
IsNotNullfield is not null
ContainingLIKE %value%
StartingWithLIKE value%
EndingWithLIKE %value
OrderBysorting
Toplimit results
Firstfirst record
IgnoreCasecase insensitive
Inmatch list values
NotInexclude list values