【发布时间】:2016-03-23 14:38:14
【问题描述】:
我不明白关注JPQL 查询会出现什么问题:
StringBuilder sb = new StringBuilder("FROM FaPrimaryDocument AS t WHERE (t.debitAccount.id = :id or t.creditAccount.id = :id) " +
"AND t.debitAccount IS NOT NULL AND t.creditAccount IS NOT NULL ");
Query q = em.createQuery(sb.toString(), FaPrimaryDocument.class)
.setParameter("id", id);
List<FaPrimaryDocument> transactions = q.getResultList();
以上查询返回带有debitAccount/creditAccount = null 的行。如何更改它以便不返回带有debitAccount/creditAccount = null的行
【问题讨论】:
-
查询好像是正确的。
-
等一下。我会发布输出
-
@Milkmaid,已更新
-
与上述相同的查询是什么? (没有发布 SQL)JPQL 是一回事(你的错误地省略了 SELECT)。 SQL 是另一回事。
-
@Tiny JPQL 由 JPA 规范定义(与 Hibernate 文档相反)。 “SELECT {alias}”是强制性的。如果您关心可移植性和遵守标准,这就是全部内容。