Не работает запрос к MySQL?
Имеется запрос из JpaRepository
@Query("select cur from Currency cur where cur.date >= ?1 and cur.date <= ?2 and cur.basic_Title_Currency = ?3 and cur.quoted_Title_Currency = ?4")
TreeSet<Currency> findByDateGreaterThanEqualAndDateLessThanEqualAndBasicTitleCurrencyAndQuotedTitleCurrenc(
String dateAfter, String dateBefore, String basicTitleCurrency, String quotedTitleCurrency);
Выскакивает ошибка
Caused by: java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.TreeSet ru.kitosins.sibsutis.currency.repository.CurrencyRepository.findByDateGreaterThanEqualAndDateLessThanEqualAndBasicTitleCurrencyAndQuotedTitleCurrenc(java.lang.String,java.lang.String,java.lang.String,java.lang.String)!
...
Caused by: java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: basic_Title_Currency of: ru.kitosins.sibsutis.currency.entity.Currency [select cur from ru.kitosins.sibsutis.currency.entity.Currency cur where cur.date >= ?1 and cur.date <= ?2 and cur.basic_Title_Currency = ?3 and cur.quoted_Title_Currency = ?4]
...
Caused by: org.hibernate.QueryException: could not resolve property: basic_Title_Currency of: ru.kitosins.sibsutis.currency.entity.Currency [select cur from ru.kitosins.sibsutis.currency.entity.Currency cur where cur.date >= ?1 and cur.date <= ?2 and cur.basic_Title_Currency = ?3 and cur.quoted_Title_Currency = ?4]
Ответы (1 шт):
Автор решения: Alexandr
→ Ссылка
У аннотации Query есть параметр nativeQuery, который по-умолчанию равен false. Соответственно вы должны указать JPQL запрос, т.е. в запросе использовать поля сущности, а не поля таблицы (basicTitleCurrency=?3), либо уже указать nativeQuery=true.