spring-data-jpa 使用Spring Data / Hibernate忽略排名公式中的位置

vfh0ocws  于 2022-11-10  发布在  Spring
关注(0)|答案(1)|浏览(161)

我有一个使用了排名的@Formula字段。

@Formula("rank() OVER(order by num_calls, last_name, name)")
var ranked: Long = 0

问题是需要添加where子句但秩必须是所有数据的,而不是只对用where过滤的数据。
对于标准sql,我可以使用子查询:

select * from (select name, rank() OVER(order by num_calls, last_name, name) from data) as t where name = 'Bob'

但是,对于Spring Data和QueryDSL,我不知道如何使用。
我需要使用querydsl动态查询。
有什么想法吗?

lf5gs5x2

lf5gs5x21#

如果您想这样做,您必须深入研究Blaze-Persistence,它工作在JPA/Hibernate之上,并且集成了QueryDSLhttps://persistence.blazebit.com/documentation/core/manual/en_US/index.html#subquery-joins

相关问题