2013-02-22 1781 views

回答

2

Querydsl SQL模拟所有支持数据库的页面,所以如果你需要通过一个子查询写这则这样

query.from(
    new SQLSubQuery().from(a).where(a.z.eq(1)).list(a).as(a)) 
.where(rownum.loe(1)) 
.list(a); 
+0

你可以直接写

query.from(a) .where(a.z.eq(1)) .limit(1) .list(a); 

难道只是我,但我由于.from()方法需要一组EntityPath ,因此无法使用子查询解决方案。 as()方法返回Expression的子类型。 – gouki 2014-10-13 06:16:39

+0

@gouki你使用哪种Querydsl版本? – 2014-10-13 18:29:05

+0

嗨Timo,它的版本3.4.2 – gouki 2014-10-14 05:52:42