2017-07-28 43 views
0


我想用在春季查询, 一个表名,但是当我执行它,我得到这个以下错误:
春@Query删除报价

"could not extract ResultSet; SQL [n/a]; nested exception is 
org.hibernate.exception.SQLGrammarException: could not extract ResultSet" 


由于弹簧自动添加引号“的时候参数是一个字符串PARAM ..

@Query(value = "desc :name", nativeQuery = true) 
List<RepositoryColumn> getColumnFromRepository(@Param("name") String name); 

在其他情况下,我想"desc table_name"而不是"desc 'table_Name'"

任何想法?

+1

这与Spring没有任何关系,但参数替换如何与JDBC一起工作。这些查询不能使用参数绑定。 –

+0

您可以创建一个程序,该程序将“执行即时”这个查询 –

回答

0
SELECT * 
FROM information_schema.columns 
WHERE 
    table_name = :name 

尝试相同的方式。而不是*你可以选择必要的列

+0

谢谢!它的工作,但现在我怎么能得到一个'Select * FROM table_name'的等价物 – Fanor79

+0

这是不可能的。不支持使用表名作为参数。 – StanislavL

+0

arf ..谢谢.. – Fanor79