Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Hibernate在运行时选择模式?_Java_Sql_Spring_Hibernate_Jdbctemplate - Fatal编程技术网

Java 如何使用Hibernate在运行时选择模式?

Java 如何使用Hibernate在运行时选择模式?,java,sql,spring,hibernate,jdbctemplate,Java,Sql,Spring,Hibernate,Jdbctemplate,我已经有了一个现有的代码库,其中模式(如db_1、db_2..)是在运行时创建的 我们目前正在使用JdbcTemplate,使用它可以很容易地在本机SQL查询中附加模式,例如:- sql = " Select * from "+schema+".user"; jdbcTemplate.query(sql, new UserMapper()); 现在我想知道的是,如何像使用jdbcTemplate一样在运行时为hibernate提供模式 我应该在hibernate.cfg.xml中提供什么样的连

我已经有了一个现有的代码库,其中模式(如db_1、db_2..)是在运行时创建的

我们目前正在使用JdbcTemplate,使用它可以很容易地在本机SQL查询中附加模式,例如:-

sql = " Select * from "+schema+".user";
jdbcTemplate.query(sql, new UserMapper());
现在我想知道的是,如何像使用jdbcTemplate一样在运行时为hibernate提供模式

我应该在hibernate.cfg.xml中提供什么样的连接url,这样它就不会连接到单个模式而不是整个数据库

任何建议都会有帮助

注:我刚开始冬眠(所以我可能错过了一些愚蠢的事情)

我知道有两种选择:

  • 将本机SQL查询绑定结果用于JPA实体。细节

  • 使用Hibernate多租户。细节和细节

  • 虽然我也没有试过。

    我知道有两种选择:

  • 将本机SQL查询绑定结果用于JPA实体。细节

  • 使用Hibernate多租户。细节和细节


  • 虽然我也没试过。

    你试过hibernates Hibernate Interceptor吗?也许这可以帮助你,值得一读。你试过hibernates Hibernate Interceptor吗?也许这可以帮助你,值得一读