У меня есть таблица конфигурации, в которой я настраиваю строку запроса выбора пункта, я получаю эту строку и запускаю nativeQuery.
Я пытаюсь добиться функциональности, когда я передаю возвращенные значения базы данных в собственный запрос MySQL / hibernate с помощью spring-boot, но возникают проблемы с «Причиной org.hibernate.exception.SQLGrammarException: невозможно извлечь ResultSet
»
ConfigDTO reportsConfigDTO = reportsConfigRepository.getReportByCustomValue();
ConfigDTO имел поле с именем SelectClause, когда при выполнении запроса я получаю значение SelectClause из базы данных, например
SELECT * FROM users where CREATE_DATE > '2019-03-27 19:06:02'
Я пытаюсь передать это значение другому запросу.
String query = reportsConfigDTO.getSelectClause();
UserDTO userDTO = userRoleRepository.getReportByCustom(query);
Мой собственный запрос в хранилище:
@Query(value = ":query", nativeQuery=true)
public UserDTO getReportByCustom(@Param("query") String query);
Так что в основном я передаю SELECT * FROM users where CREATE_DATE > '2019-03-27 19:06:02'
, который возвращается из предыдущего запроса, userRoleRepository.getReportByCustom
Я что-то не так делаю? не уверен, что это правильный подход,
Я получаю ниже исключение sql
Ошибка SQL: 1064, SQLState: 42000
2019-03-31 16: 51: 00.116 ОШИБКА 33850 --- [Batch] o.h.engine.jdbc.spi.SqlExceptionHelper: в синтаксисе SQL имеется ошибка; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '' SELECT * FROM пользователей, где CREATE_DATE> \ '2019-03-27 19: 06: 02 \' '' в строке 1
Исключение в потоке "Отчеты" org.springframework.dao.InvalidDataAccessResourceUsageException: не удалось извлечь ResultSet; SQL [н / п]; вложенное исключение - org.hibernate.exception.SQLGrammarException: не удалось извлечь ResultSet