我想在命名查询中使用Eclipse Link检查我的PostgreSQL数据库并返回一个布尔值。但是,当我将count语句(返回正确的值)更改为case语句时,我得到NoResultException。有什么问题?
遵循一个简化的例子:
@NamedQuery(name = "User.isExistent",
query = "SELECT CASE WHEN COUNT(u) > 0 THEN true ELSE false END
FROM User u WHERE u.someField = :someField")
用法
TypedQuery<Boolean> query = em.createNamedQuery("User.isExistent", Boolean.class);
query.setParameter("someField", "someFieldValue");
Boolean result = query.getSingleResult();