我将以下SQL作为本机查询运行,但我想知道是否有一种方法可以在JPAQuery中运行以使用元组或类实例化。
SELECT a.*,
(SELECT exists (SELECT 1 FROM Table b WHERE b.a_code = a.code AND b.other = ?)) AS bloquant
FROM Table a
Run Code Online (Sandbox Code Playgroud)
为了精确起见,我使用的不是QTypes别名。
小智 -1
如果您的正确查询是:
SELECT *
FROM tablea
WHERE EXISTS(SELECT 1 FROM tableb WHERE tableb.a_code=tablea.code and tableb=$PARAM_VALUE);
Run Code Online (Sandbox Code Playgroud)
然后你可以得到正确的 SQL 表达式:
QTableA qTableA = new QTableA("tablea");
QTableB qTableB = new QTableB("tableb");
// Subquery creation
SQLQuery subquery = SQLExpressions.selectOne()
.from(qTableB)
.where(qTableB.a_code.eq(qTableA.code).and(qTableB.other.eq(PARAM_VALUE)));
return subquery.exists();
SQLQuery query = new SQLQuery();
query.setUseLiterals(true);
query
.select(SQLExpressions.countAll)
.from(qTableA)
.where(subquery.exists());
return query.getSQL().getSQL();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2625 次 |
| 最近记录: |