关于使用JPA中@Query注解传递表名/视图名参数的问题

时间:2021-06-24 05:45:20

因碰到需要动态查询不同视图的结果,自己尝试使用@Query注解中传递视图名称参数:

@Query("select * from ?1")

List<Object> getDatats(String view);

但是结果报错,查看控制台的打印的异常信息,了解到是使用这种方法视图名会被加上单引号。

自己解决问题的方法: 不使用@Query注解,而是采用实体管理器。将sql语句字符串拼接视图名称参数。

public List<Object> getDatas(String view) {

  String sql ="select * from"+view;

  ........    //其他 

}