QueryDSL 子查询不起作用

QueryDSL subquery not working

我正在尝试在 QueryDSL 中重新创建以下 SQL 查询。以下是我的 SQL 查询,目前正在按预期工作。

SELECT * FROM room x WHERE unit_id = (SELECT unit_id FROM room WHERE unit_id = x.unit_id GROUP BY unit_id HAVING(SUM(sqft) > 0)) 

我正在尝试编写一个 QueryDSL 查询来做同样的事情,但老实说不能比底部查询更进一步。

JPASubQuery subQuery = new JPASubQuery();
subQuery.from(qRoom).groupBy(qRoom.unit).having(qRoom.sqft.sum().goe(0));

JPAQuery unitquery = from(qRoom)
   .where(qRoom.building.eq(building)).where(qRoom.unit.eq(subQuery));

return unitquery.list(qRoom);

以上查询无效,我在 QueryDSL 中使用子查询时遇到问题。我应该如何 add/change 使这个查询正常工作?

已修复。

我也只是需要更改 .where(qRoom.unit.eq(subQuery)); .where(qRoom.unit.in(subQuery.list(qRuimte.unit)));