Я пытаюсь выяснить, в чем проблема с этим методом, который использует JPQL для проверки, если электронная почта уже существует в БД, по какой-то причине она не работает.Кто-то может взглянуть?Или дать другой альтернативный запрос более простой?
@Override
public boolean emailAlreadyExists(String value) {
Query checkEmailExists = em.createQuery("SELECT COUNT(b.email) FROM "
+ Buyer.class.getName() + " b WHERE email = :emailparam");
checkEmailExists.setParameter("emailparam", value);
long matchCounter = 0;
matchCounter = (Long) checkEmailExists.getSingleResult();
if (matchCounter > 0) {
return true;
}
return false;
}
Это часть вывода консоли:
Причина: Исключение [EclipseLink-8024] (Eclipse Persistence Services - 2.0.1.v20100213-r6600): org.eclipse.persistence.exceptions.JPQLException Исключение Описание: Синтаксическая ошибка при анализе запроса [SELECT COUNT (b.email) FROM entity.Buyer b WHERE b.email =: emailparam], строка 1, столбец35: синтаксическая ошибка в [.].Внутреннее исключение: MismatchedTokenException (83! = 78)
Я уверен, что он должен что-то делать с синтаксисом.Но где я совершаю ошибку?