很抱歉问了一个简单的问题,但我对 spring、JPA 和 Jhipster 都是新手。 我正在观看视频教程,在一个步骤中,老师“自定义”默认 View 以对自定义列进行排序。他通过将存储库类中的方法更改为按其中一列排序的查询来做到这一点。这是可行的,但我注意到这样做后 UI 排序(UI 强制单击列的排序)停止工作。
调试时我注意到原因是查询首先按日期过滤,然后按“可分页”过滤。 如果可分页为空,应用“byDate”排序作为默认排序的最佳实践是什么?
我通过深入检查页面对象并使用“如果有 UI 排序,则使用存储库方法 A( native 未排序的方法)”来“破解”系统,如果没有,则使用存储库方法 B(已经排序的一个)”。我正在寻找的是“正确的方法”,最佳实践,因为我想学习按照应有的方式进行编程,并且我很确定拥有默认的排序列并不是那么奇怪请求
Here it is the link to the video
非常感谢
最佳答案
您可以在[component-name].route.ts
中设置任何 View 的默认排序列。在该文件中您将看到如下内容:
// ...
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',
关于spring-data-jpa - 在列表中,在jhipster中设置默认排序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60457729/