意外的令牌":"在Spring @Query Param中

时间:2015-06-15 02:31:39

标签: java spring spring-mvc jpa

我的应用程序中有一个带有命名参数的Spring Repository @Query

@Query("SELECT p FROM :person")    
Page<Person> find(@Param("table") String table, Pageable pageable);

一个Controller来处理请求/查询表(:table)

@RequestMapping(value = "/search/{table}", produces="application/json", method = RequestMethod.GET) 
    public Page<Person> searchTables(@PathVariable String table) {
        return Page<Person> list = repo.find(table, new PageRequest(1, 20));
    }

存储库和请求映射工作正常,所以我省略了这些,但我得到以下异常:

Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: : near line 1, column 15 [SELECT p FROM :table]

根据Spring文档,@Query命名参数的前缀是:,因此我不确定为什么会出现此错误。

来自文档:

  

...您可以使用@Param注释为方法参数提供具体的参数   在查询中命名并绑定名称。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)