JPA同時(shí)查詢兩個(gè)屬性袜匿, 其中一個(gè)是embedded class的屬性
findByIdageAndTime(int age, Date time)
表格匯總
Spring Data JPA框架在進(jìn)行方法名解析時(shí)藻雪,會(huì)先把方法名多余的前綴截取掉粉怕,比如 find钧敞、findBy等太、read爷耀、readBy资柔、get焙贷、getBy,然后對(duì)剩下部分進(jìn)行解析贿堰。
JPA的NamedQueries
- 在實(shí)體類上使用@NamedQuery辙芍,示例如下:
@NamedQuery(name = "UserModel.findByAge",query = "select o from UserModel o where o.age >= ?1")
- 在自己實(shí)現(xiàn)的DAO的Repository接口里面定義一個(gè)同名的方法,示例如下:
public List findByAge(int age);
- 然后就可以使用了官边,Spring會(huì)先找是否有同名的NamedQuery沸手,如果有,那么就不會(huì)按照接口定義的方法來解析注簿。
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);