如何通过jpql从sql count返回布尔结果

kknvjkwl  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(369)

我对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;
  }
lqfhib0f

lqfhib0f1#

解决了,谢谢大家。

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;
 }

相关问题