spring-data-jpa - 在列表中,在jhipster中设置默认排序列

标签 spring-data-jpa jhipster

很抱歉问了一个简单的问题,但我对 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/

相关文章:

java - 如何对多个实体使用单个 JPA 规范类和方法

angularjs - 如何使用Principal或Account服务获取当前登录的用户

login - 通过 Google 进行 Jhipster 社交登录

yeoman - JHipster - 生成器给出 'Unexpected token' 错误?

java - spring data jpa 和 hibernate 之间的性能差距 - jHipster

java - 用于数据库 View (而非表)的 JPA/Spring Boot 存储库

java - 无法在mysql中使用spring data jpa创建表

java - Spring JPA Query 返回 Null 而不是 List

mysql - 弥补用原生nativeQuery和MAX(ID)获取2个对象

Azure Spring Cloud 和 JHipster