我有一个实体Person
,它有字段id,name,email
另一个具有字段id,name,personid
的实体Employee
(存储person的字符串id,但未与person表Map)
现在,我想得到分页列表,其中包含人名,员工ID,员工姓名沿着搜索和排序的基础上的人名和员工姓名动态。即,用户可以按人员姓名或员工姓名排序,并按人员姓名或员工姓名或两者进行筛选
在查询格式中,我们可以这样写:
select emp.id,emp.name,p.name from employee emp join person p on
emp.personid=p.id
该查询返回预期的输出,但为了实现搜索和排序,我无法使用投影,因为Employee实体中的personid没有与Person实体的idMap。
不应使用条件生成器,并且不能更改实体。
如果有人能提供一个最好的和最优的解决方案,以获得所需的分页结果,支持排序和过滤,将不胜感激。
1条答案
按热度按时间5gfr0r5j1#
您可以使用
order by
子句修改现有查询并传递Pageable
,例如下面是按员工姓名排序的示例:对于按员工姓名过滤,只需添加
where
子句: