spring data jpa 方法中可用的关键字
2015-07-14 17:28
405 查看
spring data jpa 支持以方法名进行查询/删除/统计。
查询的关键字为find
删除的关键字为delete/remove (>=1.7.x)
统计的关键字为count (>=1.7.x)
修改需要使用@Modifying注解
@Modifying @Query("update User u set u.firstname = ?1 where u.lastname = ?2") int setFixedFirstnameFor(String firstname, String lastname);
在确定查询/删除/统计后,在方法名后跟上限定关键字完成SQL中where条件的功能。
比如:
SysUser findByUsername(String username);
目前支持的限定关键字有:
Keyword | Sample | JPQL snippet |
---|---|---|
And |
findByLastnameAndFirstname |
… where x.lastname = ?1 and x.firstname = ?2 |
Or |
findByLastnameOrFirstname |
… where x.lastname = ?1 or x.firstname = ?2 |
Is,Equals |
findByFirstname, findByFirstnameIs, findByFirstnameEquals |
… where x.firstname = 1? |
Between |
findByStartDateBetween |
… where x.startDate between 1? and ?2 |
LessThan |
findByAgeLessThan |
… where x.age < ?1 |
LessThanEqual |
findByAgeLessThanEqual |
… where x.age ⇐ ?1 |
GreaterThan |
findByAgeGreaterThan |
… where x.age > ?1 |
GreaterThanEqual |
findByAgeGreaterThanEqual |
… where x.age >= ?1 |
After |
findByStartDateAfter |
… where x.startDate > ?1 |
Before |
findByStartDateBefore |
… where x.startDate < ?1 |
IsNull |
findByAgeIsNull |
… where x.age is null |
IsNotNull,NotNull |
findByAge(Is)NotNull |
… where x.age not null |
Like |
findByFirstnameLike |
… where x.firstname like ?1 |
NotLike |
findByFirstnameNotLike |
… where x.firstname not like ?1 |
StartingWith |
findByFirstnameStartingWith |
… where x.firstname like ?1(parameter bound with appended %) |
EndingWith |
findByFirstnameEndingWith |
… where x.firstname like ?1(parameter bound with prepended %) |
Containing |
findByFirstnameContaining |
… where x.firstname like ?1(parameter bound wrapped in %) |
OrderBy |
findByAgeOrderByLastnameDesc |
… where x.age = ?1 order by x.lastname desc |
Not |
findByLastnameNot |
… where x.lastname <> ?1 |
In |
findByAgeIn(Collection<Age> ages) |
… where x.age in ?1 |
NotIn |
findByAgeNotIn(Collection<Age> age) |
… where x.age not in ?1 |
True |
findByActiveTrue() |
… where x.active = true |
False |
findByActiveFalse() |
… where x.active = false |
IgnoreCase |
findByFirstnameIgnoreCase |
… where UPPER(x.firstame) = UPPER(?1) |
reference: http://docs.spring.io/spring-data/jpa/docs/1.8.1.RELEASE/reference/html/#specifications
相关文章推荐
- Spring Data JPA 在方法名中支持的关键字
- Spring-data-JPA生成JPQL语句方法名称中支持的关键字
- spring data jpa查询方法-方法名查询支持的关键字
- Spring Data JPA 查询方法支持的关键字
- spring-data-jpa 方法名关键字的命名规范
- Spring data jpa 方法命名规则
- Spring Data jpa @query 关于IN关键字查询
- spring data jpa中@Query中的模糊查询<like关键字>
- spring data jpa 创建方法名进行简单查询
- Spring Data JPA 简单查询--方法定义规则(详解)
- Spring-Data-JPA 自定义查询方法底层如何处理
- Spring data jpa 实现简单动态查询的通用Specification方法
- (十三)SpringBoot之Spring-Data-Jpa(二)CRUD实现以及添加自定义方法
- spring data jpa 创建方法名进行简单查询
- SpringBoot Data JPA 关联表查询的方法
- Spring Data Jpa 自定义方法实现问题
- Spring data jpa/Spring boot jpa方法命名规则
- spring-data-jpa 使用方法
- 74. Spring Data JPA方法定义规范【从零开始学Spring Boot】
- Spring Data JPA: 为所有Repository添加自定义方法