эта тема
отаю над проектом с Spring Data JPA. У меня есть таблица в базе данных, как my_query.
Я хочу создать метод, который принимает строку в качестве параметра, а затем выполнить его в качестве запроса в базе данных.
Метод:
executeMyQuery(queryString)
Как пример, когда я прохожу
queryString= "SELECT * FROM my_query"
тогда он должен выполнить этот запрос на уровне БД.
Класс хранилища работает следующим образом.
public interface MyQueryRepository extends JpaRepository<MyQuery, Long>{
public MyQuery findById(long id);
@Modifying(clearAutomatically = true)
@Transactional
@Query(value = "?1", nativeQuery = true)
public void executeMyQuery(String query);
}
Тем не менее, это не сработало, как я ожидал. Это дает следующую ошибку.
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''select * from my_query;'' at line 1
Есть ли другой способ, которым я мог бы достичь этой цели. заранее спасибо