注意:jpa的sql是面向对象的,因此from后的表名可以使用相应的实体类,占位符用?1代表参数里的第几个参数,相当于mybatis参数中的@param。
Keyword Sample JPQL snippet
IsNotNull findByAgeNotNull … where x.age not null
Like findByNameLike … where x.name like ?1
NotLike findByNameNotLike … where x.name not like ?1
StartingWith findByNameStartingWith … where x.name like ?1(parameter bound with appended %)
EndingWith findByNameEndingWith … where x.name like ?1(parameter bound with prepended %)
Containing findByNameContaining … where x.name like ?1(parameter bound wrapped in %)
OrderBy findByAgeOrderByName … where x.age = ?1 order by x.name desc
Not findByNameNot … where x.name <> ?1
In findByAgeIn … where x.age in ?1
NotIn findByAgeNotIn … where x.age not in ?1
True findByActiveTrue … where x.avtive = true
Flase findByActiveFalse … where x.active = false
And findByNameAndAge … where x.name = ?1 and x.age = ?2
Or findByNameOrAge … where x.name = ?1 or x.age = ?2
Between findBtAgeBetween … where x.age between ?1 and ?2
LessThan findByAgeLessThan … where x.age < ?1
GreaterThan findByAgeGreaterThan … where x.age > ?1
After/Before … …
IsNull findByAgeIsNull … where x.age is null