1、查詢所有數據 findAll()
2、分頁查詢 findAll(new PageRequest(0, 2))
3、根據id查詢 findOne()
4、根據實體類屬性查詢: findByProperty (type Property); 例如:findByAge(int age);
5、排序: findAll(sort )
Sort sort = new Sort(Sort.Direction.DESC, "age").and (new Sort(Sort.Direction.DESC, "id"));
6、條件查詢 and/or/findByAgeLessThan/LessThanEqual 等,
例如: findByUsernameAndPassword(String username , String password)
7、總數 查詢 count() 或者 根據某個屬性的值查詢總數countByAge(int age);
8、是否存在某個id exists()
官網上寫出了所有的方法,非常詳細,這里稍作列舉
And => 等價於 SQL 中的 and 關鍵字 例如:findByUsernameAndPassword(String user, Striang pwd);
Or => 等價於 SQL 中的 or 關鍵字,例如:findByUsernameOrAddress(String user, String addr);
Between => 等價於 SQL 中的 between 關鍵字,例如:SalaryBetween(int max, int min);
LessThan => 等價於 SQL 中的 "<",例如: findBySalaryLessThan(int max);
GreaterThan => 等價於 SQL 中的">",例如: findBySalaryGreaterThan(int min);
IsNull => 等價於 SQL 中的 "is null",例如: findByUsernameIsNull();
IsNotNull => 等價於 SQL 中的 "is not null",例如: findByUsernameIsNotNull();
NotNull=> 與 IsNotNull 等價;
Like => 等價於 SQL 中的 "like",例如: findByUsernameLike(String user);
NotLike => 等價於 SQL 中的 "not like",例如: findByUsernameNotLike(String user);
OrderBy => 等價於 SQL 中的 "order by",例如: findByUsernameOrderBySalaryAsc(String user);
Not => 等價於 SQL 中的 "! =",例如: findByUsernameNot(String user);
In => 等價於 SQL 中的 "in",例如: findByUsernameIn(Collection<String> userList) ,方法的參數可以是 Collection 類型,也可以是數組或者不定長參數;
NotIn => 等價於 SQL 中的 "not in",例如: findByUsernameNotIn(Collection<String> userList) ,方法的參數可以是 Collection 類型,也可以是數組或者不定長參數;
創建一個按單字段排序的Sort對象: new Sort(Sort.Direction.DESC, "description").and(new Sort(Sort.Direction.ASC, "id"))
jpa 復雜查詢
http://blog.csdn.net/yingxiake/article/details/51014223