我试图从动态表中选择对象,但是当我运行代码时,我得到了一些错误……有一种方法可以做到……我正在使用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:无法提取ResultSet; SQL [n / a];嵌套异常是org.hibernate.exception.SQLGrammarException:无法提取ResultSet \ r \ n \ tat org.springframework。 orm.jpa.vendor.HibernateJpaDialec
org.postgresql.util.PSQLException:错误:“ $ 1”或附近的语法错误
答案 0 :(得分:0)
使用Hibernate时,不能将table name
设置为paramater
,这是为了防止出现SQL注入之类的安全风险。
答案 1 :(得分:-1)
您必须提到要从中获取数据的表
value =“ SELECT * FROM TableName u?1”)