public interface TaskProgressDao extends JpaRepository<TaskProgress, Long>, JpaSpecificationExecutor<TaskProgress> {
List<TaskProgress> findByTaskIdOrderByCreateTimeDesc(Long id);
TaskProgress findTopByTaskIdOrderByCreateTimeDesc(Long id);
}
上面的代码片段第一个方法:
因为继承了JpaRepository 所以不用写SQL
他会先把方法名多余的前缀截取掉,比如 find、findBy、read、readBy、get、getBy,然后对剩下部分进行解析。
解析后知道taskId为查询条件,createTime是排序条件且倒序排列。
我想知道,如果我需要再加一个排序条件。
可不可以直接改成:
public interface TaskProgressDao extends JpaRepository<TaskProgress, Long>, JpaSpecificationExecutor<TaskProgress> {
List<TaskProgress> findByTaskIdOrderByOrderDescCreateTimeDesc(Long id);
}
如果我这么改了JpaRepository 这个类能否解析出我的意图是以两个条件排序
顺便再问一嘴第一个代码片段中的第二个方法
findTopByTaskIdOrderByCreateTimeDesc
Top是什么作用。
我没在JpaRepository类中找到top关键字
有哪位大神给指点指点