Как вернуть логический результат из подсчета SQL через JPQL - PullRequest
0 голосов
/ 08 октября 2018

У меня простая проблема с 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;
  }

1 Ответ

0 голосов
/ 08 октября 2018

Решено, спасибо всем.

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;
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...