我知道如何使用Hibernate來配置Spring。Spring如何與Hibernate集成
但我的問題是如何整合春季和休眠以及它是如何工作的。
下面是我用來創建Spring + Hibernate應用程序的代碼。
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
<prop key="hibernate.show_sql">false</prop>
</props>
</property>
</bean>
這SessionFactory的bean是在Java代碼注入,
import org.hibernate.SessionFactory;
public class DAOSupport extends HibernateDaoSupport {
@Autowired
public void createSessionFactory(SessionFactory sessionFactory) {
setSessionFactory(sessionFactory);
}
正如你可以看到,我用與彈簧組件相關的創建會話工廠,但在代碼中是使用Hibernate包。
PS:我知道HibernateDaoSupport已被棄用,這只是爲了解這兩個框架是如何工作的。
感謝Gimby的鏈接。 JavaDoc
有一個區別,Spring類是一個工廠,它創建了Hibernate類的實例。 – Tobb
Spring被用作IoC,它在Hibernate中注入SessionFactory,如你所示,有一個由Spring上下文創建的sessionFactory,而不是你自己。 – mlewandowski
@mlewandowski:但那個sessionFactory屬於spring包。 – Lathy