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

时间:2017-01-13 09:29:31

标签: java sql spring hibernate jdbctemplate

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

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

sql = " Select * from "+schema+".user";
jdbcTemplate.query(sql, new UserMapper());

现在我想知道如何在运行时为hibernate提供模式,就像我使用jdbcTemplate一样?

我应该在hibernate.cfg.xml中提供什么连接URL,以便它不连接到单个模式而不是整个数据库?

任何建议都会有所帮助。

P.S:我刚接触休眠(所以我可能错过了一些愚蠢的事情)

1 个答案:

答案 0 :(得分:7)

我知道两个选项:

  1. 将原生SQL查询绑定结果用于JPA实体。详情here

  2. 使用Hibernate多租户。详细信息herehere

  3. 虽然我也没试过。