QueryDSL - 将子查询添加到 FROM 语句中 [英] QueryDSL - add subquery into FROM statement
本文介绍了QueryDSL - 将子查询添加到 FROM 语句中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要实现 sql 查询,如:
I need to implement sql query like:
SELECT * FROM (SELECT a FROM b WHERE a.z = 1) WHERE rownum <=1;
如何使用 QueryDSL 编写这样的语句(我没有使用 JPA 和 JDO - 只使用干净的 sql)?
How can I write such statement with QueryDSL (I am not using JPA and JDO - only clean sql)?
推荐答案
Querydsl SQL模拟所有支持的数据库分页,直接写
Querydsl SQL emulates paging of all the supports databases, so you can write directly
query.from(a)
.where(a.z.eq(1))
.limit(1)
.list(a);
如果你需要通过子查询来写这个,那么就像这样
If you need to write this via a subquery then like this
query.from(
new SQLSubQuery().from(a).where(a.z.eq(1)).list(a).as(a))
.where(rownum.loe(1))
.list(a);
这篇关于QueryDSL - 将子查询添加到 FROM 语句中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文