由于对JPA并不太了解,最近在学习中。
总结一下findBy关键字使用方法。
关键字列表
关键字 | 示例 | JPQL表达 |
---|---|---|
And | findByLastnameAndFirstname | ... where x.lastname = ?1 and x.firstname = ?2 |
Or | findByLastnameOrFirstname | ... where x.lastname = ?1 or x.firstname = ?2 |
Is、Equals | findByFirstname、<br />findByFirstnameIs、<br />findByFirstnameEquals | ... where x.firstname = ?1 |
Between | findByStartDateBetween | ... where x.startDate between ?1 and ?2 |
LessThan | findByAgeLessThan | ... where x.age < ?1 |
LessThanEquals | findByAgeLessThanEqual | ... where x.age <= ?1 |
GreaterThan | findByAgeGreaterThan | ... where x.age > ?1 |
GreaterThanEquals | findByAgeGreaterThanEquals | ... where x.age >= ?1 |
After | findByStartAfter | ... where x.startDate > ?1 |
Before | findByStartBefore | ... where x.startDate < ?1 |
IsNull | findByAgeIsNull | ... where x.age is null |
IsNotNull,<br />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(参数增加前缀%) |
EndingWith | findByFirstnameEndingWith | ... where x.firstname like ?1(参数增加后缀%) |
Containing | findByFirstnameContaining | ... where x.firstname like ?1(参数被%包裹) |
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> ages) | ... where x.age not in ?1 |
True | findByActiveTrue() | ... where x.active = true |
False | findByActiveFalse() | ... where x.active = false |
Ignore | findByFirstnameIgnoreCase | ... where UPPER(x.firstname) = UPPER(?1) |
除了find前缀之外,还有read、get、query、stream
网友评论