java - 如何通过 JPQL 从 SQL 计数返回布尔结果
问题描述
我对 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;
}
解决方案
解决了,谢谢大家。
public boolean getAnalysisByUserId(final Integer userId) {
Objects.requireNonNull(userId, "Integer userId cannot be null.");
final Query query = this.manager
.createNativeQuery("select count(a.id) from AnalysisRequest a where a.userId = ?1");
query.setParameter(1, userId);
final Long result = (Long) query.getSingleResult();
return result != null && result > 0;
}
推荐阅读
- parsing - Haskell:如何为解析器实现 >>=
- javascript - 使用 Node.js 的提醒机器人
- javascript - Nodejs,将插入后的值发送到数据库,但在此之后,浏览器等待本地主机。
- python - CS50 最终项目:上传文件路径有问题
- r - 附加后识别数据集中的变量时出错
- sails.js - 具有强制性一对多关系的级联错误
- python - 如何更改 Kivy 下拉菜单的宽度
- python - WebElement(硒/Python)
- visual-studio-code - 一次开发和调试多个 VSCode 扩展
- python - 如何根据应用于其他两列的函数更改列中的值