Подтверждение того, что электронная почта не зарегистрирована в JPA - PullRequest
0 голосов
/ 02 марта 2020

Итак, я создаю страницу регистрации для веб-сайта и хочу, чтобы она проверяла, есть ли электронное письмо (или имя пользователя) в базе данных. Все мои другие проверки работают, но по какой-то причине это никогда не возвращает true.

Вот запрос для emailExist () (с использованием easyCriteria):

   public boolean emailExist(String emailString) {
        try {
            QAccount_ qaccount = new QAccount_();
            JPAQuery query = new JPAQuery(entityManager);
            Account account = query.select(qaccount)
                    .where(qaccount.email.eq(emailString))
                    .getSingleResult();

            return true;

        } catch (NoResultException e) {

            return false;

        }

    }

Я считаю, что что-то не так с обработкой запроса.

1 Ответ

0 голосов
/ 04 марта 2020

Итак, фавл был в методе emailExist. Я изменил его на следующий код, и все работало просто отлично.

    public boolean emailExist(String emailString) {

        QAccount_ qaccount = new QAccount_();
        JPAQuery query = new JPAQuery(entityManager);
        List<Account> accounts = query.select(qaccount)
                .where(qaccount.email.eq(emailString))
                .getResultList();
        if (accounts.size() > 0) {
            return true;
        } else {
            return false;
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...