尝试使用 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")));
需要帮助我有数据 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")));