gpt4 book ai didi

java - 如何在 Spring 中定义多个 sessionfactory 实例?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:29:52 25 4
gpt4 key购买 nike

我想在一个 spring 应用程序中有多个 Hibernate SessionFactories,除了 DataSource 之外,它们都具有相同的配置。理想情况下,我会按名称获取特定的 SessionFactory。我需要能够根据运行时状态执行此操作,并且无法确定在应用程序启动时我需要哪些 session 工厂。基本上,我需要一个 SessionFactoryTemplate 或类似的东西。

这可能吗?我该怎么做?

最佳答案

您可以定义一个抽象 bean 并使用 bean 继承。这意味着您将拥有一个用作模板的 bean 定义,并且您可能有多个 bean 只是复制父 bean 设置的属性。

这是一个例子:

<bean id="abstractSessionFactory" abstract="true"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="mappingResources">
<list>
<value>product.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.HSQLDialect
</value>
</property>
</bean>

<bean id="mySessionFactory" parent="abstractSessionFactory">
<property name="dataSource" ref="myDataSource"/>
...
</bean>

<bean id="mySessionFactory2" parent="abstractSessionFactory">
<property name="dataSource" ref="myDataSource2"/>
...
</bean>

使用属性 'abstract' 可以确保 bean 不会被实例化,它将仅用作模板。

更多信息在这里:link text

关于java - 如何在 Spring 中定义多个 sessionfactory 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/794496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com