由于对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










网友评论