我不明白下面的 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
最佳答案
我尝试了一些不同的方法。结果如何:
"SELECT t " +
"FROM FaPrimaryDocument AS t " +
"JOIN t.debitAccount AS da " +
"JOIN t.creditAccount AS ca " +
"WHERE " +
"((da.id = :id) OR (ca.id = :id)) " ;
关于java - JPQL 查询不为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34329311/