Я пытаюсь получить все сущности из объекта TransactionE t, где месяц t.purchasedDate равен текущему месяцу.EJB QL data Ошибка синтаксиса
Однако при запуске моего кода я столкнулся с синтаксической ошибкой.
String query = "SELECT t FROM TransactionE t WHERE Month(t.purchaseDate) = Month(" + getCurrentDate()+")";
Query q = em.createQuery(query);
Любая помощь пожалуйста?
getCurrentDate() - это функция, которая вернет дату текущего дня в формате «yyyy-MM-dd».
Ниже представлен запрос, который я надеялся достичь. ВЫБОР т ОТ TransactionE т ГДЕ Месяц (t.purchaseDate) = Месяц ("2013-10-06")
Ошибка: Вызванный: Exception [EclipseLink-8025] (Eclipse, Постоянство услуги - 2.3.2 .v20111125-r10461): org.eclipse.persistence.exceptions.JPQLException Исключение Описание: Синтаксическая ошибка, анализирующая запрос [SELECT t FROM TransactionE t WHERE Месяц (t.purchaseDate) = Месяц (getCurrentDate()), строка 1, столбец 40 :. неожиданный маркер [(]
попробуйте одинарную котировку на дату –
Привет, Вы имеете в виду что-то вроде этого? SELECT t FROM TransactionE t WHERE Месяц (t.purchaseDate) = Месяц ('2013-10-09') Я просто попробовал. Одиночная цитата не работает –
Какой сервер приложений вы используете? В какой библиотеке JPA вы используете? –