gpt4 book ai didi

java - 如何为带注释和 hbm.xml 配置的实体创建 hibernate session bean

转载 作者:行者123 更新时间:2023-12-01 11:08:59 25 4
gpt4 key购买 nike

我有遗留的 hbm.xml 配置持久类和带注释的持久类,因此目前我们必须指定 DAO bean 中使用的每个 session 工厂。

不幸的是,这意味着我遇到了一个问题,即我们有我想要使用的 DAO 组合,但它们并不都与单个 session 工厂相关联。

我想将两者合并到一个 session 工厂 bean 中,因为我们不能一次性移动所有内容。

我该如何去做呢?

注意:我当前的解决方法是注释一些 xml 配置的,然后创建两个 DAO bean:每个 session 工厂一个。

HBM.XML:

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mappingLocations">
<value>hbm/path/*.hbm.xml</value>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
<prop key="hibernate.show_sql">false</prop>
</props>
</property>
</bean>

注释:

<bean id="annotatedSessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="packagesToScan" value="path.batch.persistent"/>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
<prop key="hibernate.show_sql">false</prop>
</props>
</property>
</bean>

最佳答案

感谢 M.Deinum 和 orid:

我想太多了。
从来不需要两个 session 工厂。

所以我只需将上下文文件重构为:

<bean id="annotatedSessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="packagesToScan" value="path.batch.persistent"/>

    <property name="mappingLocations">
<value>hbm/path/*.hbm.xml</value>
</property>

    <property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
<prop key="hibernate.show_sql">false</prop>
</props>
</property>
</bean>

关于java - 如何为带注释和 hbm.xml 配置的实体创建 hibernate session bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32593696/

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