gpt4 book ai didi

hibernate - 冲洗模式只能使用一次吗?

转载 作者:行者123 更新时间:2023-12-02 23:30:24 25 4
gpt4 key购买 nike

在我的 applicationContext 中,我有 2 个 dao 。如果我将下面的第二个 dao 指定为使用刷新模式,我将收到错误 invalid;嵌套异常是 org.xml.sax.SAXParseException:类型 ID 的属性值“org.springframework.orm.hibernate3.HibernateAccessor.FLUSH_COMMIT”在文档中必须是唯一的。另一方面,当我排除第二个 dao 的刷新模式时,没有错误。谁能解释一下吗?

   <bean id="dao" class="info.jtrac.hibernate.HibernateJtracDao" init-method="createSchema">
<property name="hibernateTemplate">
<bean class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"/>
<property name="flushMode">
<bean id="org.springframework.orm.hibernate3.HibernateAccessor.FLUSH_COMMIT"
class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean"/>
</property>
</bean>
</property>

</bean>


<bean id="secondsdao" class="com.company.secondSHibernateDao" >
<property name="hibernateTemplate">
<bean class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="secondSsessionFactory"/>
<property name="flushMode">
<bean id="org.springframework.orm.hibernate3.HibernateAccessor.FLUSH_COMMIT"
class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean"/>
</property>

</bean>
</property>

</bean>

最佳答案

通过提供适当的常量作为字符串值来配置刷新模式要容易得多:

<bean class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="secondSsessionFactory"/>
<property name="flushModeName" value="FLUSH_COMMIT" />
</bean>

但是,如果您想从 HibernateAccessor 中定义的常量检索该值,则需要配置 FieldRetrievingFactoryBean通过将要检索的字段名称正确指定为 staticField属性:

<bean class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="secondSsessionFactory"/>
<property name="flushMode">
<bean class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">
<property name="staticField" value="org.springframework.orm.hibernate3.HibernateAccessor.FLUSH_COMMIT"/>
</bean>
</property>
</bean>

Bean id 是完全不同的东西;它用于唯一标识应用程序上下文中的 bean,并且正如 Arthur 指出的那样,对于内部 bean 可以省略。

关于hibernate - 冲洗模式只能使用一次吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1485706/

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