我使用的是spring数据,我的dao看起来像
public interface StudentDAO extends JpaRepository<StudentEntity, Integer> {
public findAllOrderByIdAsc(); // I want to use some thing like this
}
在上面的代码中,注解行显示了我的意图。spring数据是否可以提供内置功能来使用这样一种方法来查找所有记录,并按asc/desc的某个列排序?
我使用的是spring数据,我的dao看起来像
public interface StudentDAO extends JpaRepository<StudentEntity, Integer> {
public findAllOrderByIdAsc(); // I want to use some thing like this
}
在上面的代码中,注解行显示了我的意图。spring数据是否可以提供内置功能来使用这样一种方法来查找所有记录,并按asc/desc的某个列排序?
7条答案
按热度按时间slmsl1lt1#
上面的代码应该有用。我用的是类似的东西:
它返回最高级别的10行。
重要提示:因为我被告知很容易错过这个答案的关键点,这里有一点澄清:
dpiehjr42#
好吧,我认为用直接方法命名查询是不可能的。但是,您可以使用内置的排序机制,使用
Sort
班级。存储库具有findAll(Sort)
方法的示例Sort
到。例如:py49o6xq3#
简单方法:
资料来源:https://www.baeldung.com/spring-data-sorting
o4hqfura4#
请看SpringDataJPA-参考文档,第5.3节。查询方法,特别是第5.3.2节。查询创建,在“表3。方法名称中支持的关键字”(链接从2019-05-03开始)。
我认为它正是你所需要的和你所说的相同的查询应该工作。。。
wgeznvg75#
是的,您可以使用spring数据中的查询方法进行排序。
例如:使用id字段的值按升序或降序排列。
代码:
替代解决方案:
spring数据排序:排序
2jcobegt6#
在本例中,我尝试向您展示一个完整的示例来个性化排序
您将使用以下示例:动态生成排序示例的对象的方法:
dxxyhpgq7#
结合以上所有答案,您可以使用baseentity编写可重用代码:
dao对象重载findall方法-基本上,仍然使用
findAll()
```public interface StudentDAO extends CrudRepository<StudentEntity, Long> {
Iterable findAll(Sort sort);
}
```
StudentEntity
延伸BaseEntity
它包含可重复的字段(可能您也希望按id排序)最后,介绍了系统的服务和使用
SORT_BY_CREATED_AT_DESC
它可能不仅在StudentService
.