如何使用 JPA 生成 SQL SELECT count(*) from item_entrada where not isfinalizado
?
`isfinalizado boolean DEFAULT false`
行:
真实 真的 真的 错误
我的预期结果是 1,但我收到 3
我的代码:
CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
Root<ItensEntrada> rt = cq.from(ItensEntrada.class);
cq.select(em.getCriteriaBuilder().count(rt));
cq.where(rt.get("isfinalizado"));
Query q = em.createQuery(cq);
return ((Long) q.getSingleResult()).intValue();
最佳答案
在 SQL 中,您使用的是 not isfinalizado,而在条件查询中,您没有检查 not 条件。
我建议在条件查询中使用谓词来实现这一点。
关于java - 如何在JPA中生成sql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51408799/