尝试使用 PageRequest Hibernate JPA 在加入 table 后对记录进行排序

Try to sort records after joining table using PageRequest Hibernate JPA

需要帮助我有数据 table 显示加入 table 记录,然后可以选择通过单击列进行排序。在这种情况下,我想使用 PageRequest 对连接的列进行排序。

我想按加入员工 table 的角色标识符排序/排序。

现在我这样调用存储库的方式 this.employeeRepository.findAll(pageRequest);

我用 "role" 设置的用于排序的 pageRequest 参数,就像在员工实体内部一样。但是排序不能正常工作。

我是不是漏掉了什么?

我有这样的员工实体

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  @Column(name = "id")
  private Long id;

  @Column(name = "identifier")
  private String identifier;


  @OneToOne(fetch = FetchType.EAGER)
  @JoinColumn(name = "identifier",  referencedColumnName = "identifier", insertable = false, updatable = false)
  private UserRoleEntity role;

 

我有这样的用户角色实体

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private Long id;

  @Column(name = "identifier")
  private String identifier;
  @Column(name = "roleIdentifier")
  private String role;

提前致谢

对关系使用主键,还是标识符是唯一的?

@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "roleId", insertable = false, updatable = false)
private UserRoleEntity role;

然后尝试

employeeRepo.findAll(PageRequest.of(0,10, Sort.by(Sort.Direction.DESC, "role.identifier")));