【问题标题】:How can i configure one hibernate sessionFactory for multi persitenceunit如何为多 persitenceunit 配置一个休眠 sessionFactory
【发布时间】:2013-12-26 17:19:42
【问题描述】:
我正在尝试将我的应用程序从 jboss As 5 迁移到 jboss As 7.1.1.final。
我有 4 个来自 mssql 的数据库和 1 个来自 postgres 的数据库。
我之前有一个提供一个 sessionfactory 的 har 服务,我想为 jboss 做与 7 相同的事情(可能不支持 har)。
所以我的问题是:
我如何为多个 persitenceunit 配置一个休眠 sessionFactory ?或者我如何使用一个用于多数据源的持久化单元?
以及如何从一个方法获取sessionfactory?
请帮忙。
对不起我的英语
谢谢。
【问题讨论】:
标签:
hibernate
persistence
jboss7.x
jta
【解决方案1】:
Hibernate 4 支持多租户。您可以在应用程序中配置多租户,使用它可以配置任意数量的数据库。
<prop key="hibernate.multiTenancy">DATABASE</prop>
<prop key="hibernate.connection.datasource">
${hibernate.dataSource.jndiName}
</prop>
<prop key="hibernate.tenant_identifier_resolver">multitenancy.CurrentTenantResolver</prop>
<prop key="hibernate.multi_tenant.datasource.identifier_for_any">Default</prop>
以上是在 Spring 中设置休眠。您可以在 hibernate 文档中查看详细信息。