public interface MyRepository extends JpaRepository<String,String> {
@Query(value="Select name from **dbname**.Employee where salary>:salary",nativeQuery=true)
public List<String> getNames(@Param(value = "salary") int salary);
}
现在,我想基于传递的运行时参数在运行时设置此dbname。有没有办法做到这一点?
我之所以这样问是因为,我们有不同的区域可以在其中测试应用程序。在每个区域中,表名都是相同的,但是数据库名称会根据区域而变化。
假设我有四个区域,即A,B,C和D 现在,如果我将A作为参数传递,则查询应变为 “从A.Employee中选择名称,其中Salary>:salary”
类似地,如果我将B作为参数传递,查询将变为 “从B.Employee选择名称,其中Salary>:salary”
以此类推。
谢谢。