JPA同时查询两个属性, 其中一个是embedded class的属性
findByIdageAndTime(int age, Date time)
表格汇总
Spring Data JPA框架在进行方法名解析时,会先把方法名多余的前缀截取掉,比如 find、findBy、read、readBy、get、getBy,然后对剩下部分进行解析。
JPA的NamedQueries
- 在实体类上使用@NamedQuery,示例如下:
@NamedQuery(name = "UserModel.findByAge",query = "select o from UserModel o where o.age >= ?1")
- 在自己实现的DAO的Repository接口里面定义一个同名的方法,示例如下:
public List findByAge(int age);
- 然后就可以使用了,Spring会先找是否有同名的NamedQuery,如果有,那么就不会按照接口定义的方法来解析。
JPQL查询
@Query("from SysUser u where u.nickname=:nickname")
SysUser findUser(@Param("nickname") String nickname);
@Query("from SysUser u where u.nickname like %:nickname% order by u.fans desc")
List<SysUser> findUsers(@Param("nickname") String nickname);