1-JPA同時(shí)查詢兩個(gè)屬性挽懦, 其中一個(gè)是embedded class的屬性
findByIdageAndTime(int age, Date time)
2-表格匯總
image.png
image.png
3-Spring Data JPA框架在進(jìn)行方法名解析時(shí)婚苹,會先把方法名多余的前綴截取掉亮隙,比如 find、findBy稳强、read末融、readBy尝胆、get巢块、getBy,然后對剩下部分進(jìn)行解析巧号。
4-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會先找是否有同名的NamedQuery越走,如果有,那么就不會按照接口定義的方法來解析靠欢。
5-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);