是否有一些机制可以为两个hibernate模板使用一个会话工厂。
我试过它会抛出bean创建异常。
<bean id="auditLogHibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="auditLogSessionFactory"/>
</bean>
<bean id="auditLogLocalHibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="auditLogSessionFactory"/>
</bean>
我可以这样做吗? 如果不能让我知道任何其他方式来做到这一点。 或者我们不能这样做吗?
堆栈跟踪
引起:org.springframework.beans.factory.BeanCreationException:在类路径资源[auditlog / conf / auditlog-conf.xml]中定义名称为'auditLogLocalHibernateTemplate'的bean创建错误:无法解析对bean'localHibernateSession'的引用设置bean属性'sessionFactory';嵌套异常是org.springframework.beans.factory.BeanCurrentlyInCreationException:创建名为'appHibernateSessionFactory'的bean时出错:当前处于创建状态的FactoryBean从getObject返回null
完整配置如下。
<alias name="appHibernateSessionFactory" alias="localHibernateSession" />
<bean id="auditLogSessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="auditLogDataSource"/>
<property name="annotatedClasses">
<list>
<value>auditlog.domain.AuditLog</value>
</list>
</property>
<property name="hibernateProperties" ref="auditLogHibernateProperties" />
</bean>
<bean id="auditLogHibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="auditLogSessionFactory"/>
</bean>
<bean id="auditLogLocalHibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="localHibernateSession"/>
</bean>
<bean id="auditLogDao" class="auditlog.dao.AuditLogDao" >
<property name="hibernateTemplate" ref="auditLogHibernateTemplate" />
</bean>
<bean id="auditLogLocalDao" class="auditlog.dao.AuditLogLocalDao" >
<property name="hibernateTemplate" ref="auditLogLocalHibernateTemplate" />
</bean>
<bean id="auditLogManager" class="auditlog.service.AuditLogManager" >
<property name="auditLogDao" ref="auditLogDao" />
<property name="auditLogLocalDao" ref="auditLogLocalDao" />
</bean>