我正在使用Spring Data JPA,并且我想知道是否可以更改Spring Data findAll()
方法所使用的实体的默认排序顺序?更改Spring数据的默认排序顺序findAll()方法
回答
您应该能够要么做到这一点:
春季数据1.5+,覆盖在相应接口的findAll()方法,添加注释@Query和在创建实体类像一个命名查询,例如下面:
实体
@Entity
@NamedQuery(name = "User.findAll", query="select u from User u order by u.address.town")
public class User{
}
库
public interface UserRepository extends ... <User, Long> {
@Override
@Query
public Iterable<User> findAll();
}
,或者
通过创建自定义库的实现:
你可以做到这一点,如下所示:
dao.findAll(new Sort(Sort.Direction.DESC, "<colName>"));
另一种方式来达到同样的。使用下面的方法名称:
findByOrderByIdAsc()
是的,这是一个选项。不过,我希望标准findAll()方法使用特定的顺序。原因是我也使用@Cacheable。 – 2015-03-13 11:31:33
你可以试试这个方法的名称 - 'findByOrderByIdAsc()' – Mithun 2015-03-13 11:53:57
是的我明白我可以使用它。但我想知道是否有可能在一般情况下为实体设置默认排序。我猜不会。 – 2015-03-13 13:09:14
使用PagingAndSortingRepository代替。 由于在地方,你可以添加一个queryparameter排序=,
库:
public interface UserRepository extends PagingAndSortingRepository<User, Long> {
//no custom code needed
}
GET请求:
localhost:8080/users?sort=name,desc
- 1. ABAddressBook更改默认排序顺序
- 2. 更改listview和gridview的默认排序顺序降序
- 3. jqGrid默认排序顺序?
- 4. 如何更改默认排序顺序以降序?
- 5. 更改ActiveAdmin范围中的默认排序顺序
- 6. getResultList()的默认排序顺序hibernate
- 7. 通过在YII中的默认排序顺序数据
- 8. std :: map更改默认顺序
- 9. 选择方法,更改DataTable的默认排序
- 10. 更改默认的排序上的jqGrid
- 11. ASP.NET GridView默认排序顺序
- 12. jqGrid - 按列默认排序顺序
- 13. 更改Gitlab问题的默认排序
- 14. 更改默认顺序列与复选框 - 数据表js
- 15. 如何更改数据库的默认排序规则?
- 16. 更改Firebird数据库和表的默认排序规则
- 17. 更改jQuery数据表中排序列的默认类?
- 18. jquery:tinysort ..“unsort”方法恢复默认顺序?
- 19. phpmyadmin更改默认排序规则
- 20. Django:django-tables2更改默认排序行为
- 21. 更改默认排序2008实例
- 22. 无法指定数据表的默认排序方向
- 23. Play Framework:如何更改我的数据库的排序顺序?
- 24. 什么是gamecenter排行榜的默认排序顺序。
- 25. findall忽略顺序参数?
- 26. CGridView更改排序方法
- 27. 默认排序
- 28. interChange-Framework - EMP默认数据排序
- 29. 数据表默认排序不工作
- 30. jquery数据表默认排序
您拥有的是JPA查询写。 – 2015-03-13 11:28:39
@Andrei是的,但如果可能,我想避免这种情况。 – 2015-03-13 11:30:42
findAll没有应用任何顺序。如果你想改变这个,你必须扩展'SimpleJpaRepository'并覆盖'findAll'方法。请参阅[将自定义行为添加到所有存储库]一节(http://docs.spring.io/spring-data/jpa/docs/1.7.2.RELEASE/reference/html/#repositories.custom-behaviour-for-全库)。您也可以使用它覆盖默认行为。 – 2015-03-13 12:23:19