spring-data-jpa - 在列表中,设置 jhipster 中的默认排序列
问题描述
很抱歉这个简单的问题,但我对 spring、JPA 和 Jhipster 都是新手。我正在关注视频教程,并且在一个步骤中,老师“自定义”了默认视图以对自定义列进行排序。他通过将存储库类中的方法更改为按其中一列排序的查询来做到这一点。这可行,但我注意到这样做 UI 排序(UI 强加于单击列的排序)停止工作。
调试我注意到原因是查询首先按日期过滤,然后按“可分页”过滤。如果可分页为空,将“按日期”排序作为默认值应用的最佳做法是什么?
我设法通过深入检查页面对象和“如果有 UI 排序使用存储库方法 A(本机未排序的方法),如果没有使用存储库方法 B(即已经排序)”。我正在寻找的是“正确的方式”,最佳实践,因为我想学习按照它应该的方式编程,而且我很确定拥有一个默认的排序列并不是那么奇特要求
非常感谢
解决方案
您可以在 中设置任何视图的默认排序列[component-name].route.ts
。在该文件中,您将看到如下内容:
// ...
export const fooRoute: Routes = [
{
path: '',
component: FooComponent,
resolve: {
pagingParams: JhiResolvePagingParams
},
data: {
authorities: ['ROLE_USER'],
defaultSort: 'id,asc', // <- Look at this line :)
pageTitle: 'jhipsterApp.foo.home.title'
},
canActivate: [UserRouteAccessService]
},
// ...
JHipster 设置的默认顺序是按列id
升序排列。如果要按列name
降序设置默认顺序(仅作为示例),只需将该行更改为以下内容:
defaultSort: 'name,desc',
推荐阅读
- idris - 我可以避免在 Idris 的全部功能中明确排除无效案例吗?
- android - 使用 mockk 的测试用例无法正常工作
- python - 将聊天符号转换为表情符号或文本
- node.js - 使隐藏的 vc 变为可见的 discord.js
- java - 接口引用是否需要将强制转换分配给类对象引用?
- asp.net - 无法仅从我的 asp .net 日历控件中获取日期
- css - 如何使 flex 中的项目更具响应性?
- javascript - 当我在 iOS 中安装 PWA 时,我的 HTML5 视频播放器无法正常工作
- c# - RestSharp 字符串
- java - 如何在 java ee 应用程序中启用 h2 控制台