Динамический запрос в спящем режиме - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь выбрать объект из динамических таблиц, но когда я запускаю свой код, я получаю некоторые ошибки ... Есть способ сделать это ... Я использую JPA, hibernate и postgres

    @Query(nativeQuery = true,
        value =
                "SELECT u.* " +
                        "FROM " +
                        " ?1 AS u ")
    Map<String, String> findAny(String tableName);

Вот ошибка ...

org.springframework.dao.InvalidDataAccessResourceUsageException "," debugMessage ":" org.springframework.dao.InvalidDataAccessResourceUsageException: не удалось извлечь ResultS;SQL [н / п];вложенным исключением является org.hibernate.exception.SQLGrammarException: не удалось извлечь ResultSet \ r \ n \ tat org.springframework.orm.jpa.vendor.HibernateJpaDialec

org.postgresql.util.PSQLException: ошибка синтаксиса: ошибкана уровне или около $ 1

Ответы [ 2 ]

0 голосов
/ 23 января 2019

С Hibernate вы не можете установить table name как paramater, это для защиты от угроз безопасности, таких как SQL-инъекция.

0 голосов
/ 23 января 2019

Вы должны упомянуть таблицу, из которой вы получаете данные

value = "SELECT * FROM TableName u? 1")

...