以下面的SQL查询为例
选择*来自雇员部分(p0)姓名='John';
上面的示例可以很容易地在Spring数据JPA中编写而无需“ PARTITION(p0)”。当我需要添加分区时,这变得非常困难。
一种可能的解决方案是使用本机SQL。但是,这不是我的选择,因为我必须使用PaginationAndSorting和Criteriabuilder。任何建议都很好。谢谢。
您无法使用Criteria API进行此操作,因为它基本上会创建JPQL,而将partition子句作为SQL的一部分,而JPQL中没有等效项。
由于您似乎需要动态创建查询,因此建议您研究Querydsl和jOOQ,以了解它们是否支持partition子句,或者使用String串联自己构造SQL。在这种情况下,您必须注意不要创建SQL注入漏洞。
如果您实际上只需要分页,可以将其与本机@Query
批注结合使用就可以了。