Java 在春季休眠SessionFactory
我正在使用Hibernate3和Spring3。我正在尝试使用Spring启动hibernate事务。 下面是我的配置Java 在春季休眠SessionFactory,java,hibernate,spring,Java,Hibernate,Spring,我正在使用Hibernate3和Spring3。我正在尝试使用Spring启动hibernate事务。 下面是我的配置 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml" /> </
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation" value="classpath:hibernate.cfg.xml" />
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
我在hibernate配置xml中有以下行
<property name="hibernate.current_session_context_class">thread</property>
这有什么不对吗?当前会话上下文类的值是线程以外的值吗?问题已经解决了 SessionFactory SessionFactory=新配置().configure().buildSessionFactory() 当您使用Spring事务管理时,似乎需要使用在applicationContext.xml中配置的sessionFactory(使用依赖项注入) 下面的代码解决了这个问题
private SessionFactory sessionFactory;
public void setSessionFactory(SessionFactory sessionFactory)
{
this.sessionFactory = sessionFactory;
}
在applicationContext.xml中:
<bean id="BookService" class="hibernate.BookServiceImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
private SessionFactory sessionFactory;
public void setSessionFactory(SessionFactory sessionFactory)
{
this.sessionFactory = sessionFactory;
}
<bean id="BookService" class="hibernate.BookServiceImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>