Java QueryDSL-使用JPA将子查询添加到FROM语句中

Java QueryDSL-使用JPA将子查询添加到FROM语句中,java,spring-data-jpa,querydsl,Java,Spring Data Jpa,Querydsl,请您帮助我使用JPA查询为下面这样的SQL创建QueryDSL构造。我使用的是4.1.3 SELECT * FROM (SELECT a FROM b WHERE a.z = 1) WHERE rownum <=1; 提到的解决方案对我不起作用 提前感谢。以下查询: 从b中选择a,其中a.z=1 没有任何ORDERBY子句,因此将应用默认顺序。根据SO的回答,未预测排序。因此,我建议添加orderby子句 如果这只是一个示例,并且实际查询包含order,那么您可以在单个查询中实现类似的逻

请您帮助我使用JPA查询为下面这样的SQL创建QueryDSL构造。我使用的是4.1.3

SELECT * FROM (SELECT a FROM b WHERE a.z = 1) WHERE rownum <=1;
提到的解决方案对我不起作用

提前感谢。

以下查询:

从b中选择a,其中a.z=1

没有任何ORDERBY子句,因此将应用默认顺序。根据SO的回答,未预测排序。因此,我建议添加orderby子句

如果这只是一个示例,并且实际查询包含order,那么您可以在单个查询中实现类似的逻辑;而不是将其包装到另一个查询中并获取第一行,例如,类似于从b中选择a,其中a.z=1 order by z with rownum。以下是通过JPA方式完成的步骤:

为该表编写存储库您可以扩展PagingAndSortingRepository,因为它已有一些方法 编写一个接受Pageble参数和z的findBy方法,如下所示:public List findByZint z,Pageable Pageable 使用Z和PageRequest调用它,例如:

final PageRequest page1=新页面请求 0,1,Direction.ASC,somefield ;


它将根据您使用的数据库应用限制/rownnum,并提供记录。

你好,Darshan,谢谢您的回复。基本上,我正在为上述类型的子查询寻找QueryDSL解决方案。在FROM语句中有子查询。您实现了吗?