【发布时间】:2019-03-12 18:45:54
【问题描述】:
我有一个简单的 sql 查询问题。我需要得到真假,我尝试了多种方法,但没有好的结果。此查询返回 0,因为我在数据库中的记录为零。也许应该调整条件。感谢所有的想法。
public boolean getAnalysisByUserId(final Integer userId) {
Objects.requireNonNull(userId, "Integer userId cannot be null.");
final Query query = this.manager.createQuery("select count(a) from AnalysisRequest a where" + " a.userId = :userId",
AnalysisRequest.class);
query.setParameter("userId", userId);
if (query.getSingleResult().equals(0)) {
return false;
}
return true;
}
【问题讨论】:
-
getAnalysisByUserId()的目的是什么?如果计数为零,它似乎应该返回false。也就是说,它看起来像预期的那样工作。你能更详细地解释你的问题吗?例如,一些预期的输入和输出是什么。 -
COUNT() 函数返回计数(一个数字)。它总是只返回一个整数值;最小值为零。