2010-07-15 115 views
1

有人可以概述使用spring mvc獲得休眠所需的步驟。步驟在春天使用休眠3 mvc應用程序

我見過EntityDao基本上是從GenericDAo繼承的。

泛型DAO具有像GETALL,GetByID,保存,刪除等

而且他們的方法中的基本操作,他們使用:

getHibernateTemplate 

所以基本上會話已經在一個進行佈線bean和mysql設置必須被設置。

我覺得春天文檔,有點混亂:http://static.springsource.org/spring/docs/3.0.0.RELEASE/spring-framework-reference/html/orm.html#orm-hibernate

回答

3

的基本組件包括:

  • 東西配置和創建Hibernate的SessionFactory。這通常由LocalSessionFactoryBean完成,如發佈的鏈接中的示例所用。這暴露了一個Spring管理的bean,實現了Hibernate SessionFactory接口。
  • 通常情況下,您有一個或多個注入SessionFactory的DAO Bean。在很多情況下,最簡單的方法就是擴展便利的HibernateDaoSupport類,該類具有sessionFactory屬性。 HibernateDaoSupport證明了getHibernateTemplate()方法,該方法從SessionFactory獲取Hibernate Session並將其包裝在HibernateTemplate對象中,該對象爲執行常見Hibernate操作提供了各種便利方法,並且通常比原始接口Session更有用。

使用這種模式,應用程序代碼和Hibernate API本身之間的直接交互很少,它主要是通過Spring中間層完成的。有人會說這是一件好事,其他人寧願春天躲開。這是一個非常好的選擇 - 沒有什麼能阻止你用SessionFactory注入bean並直接使用Hibernate API。 HibernateDaoSupportHibernateTemplate類純粹是爲了方便。

+0

非常感謝。所以我的GenericDao將擴展HibernateDaoSupport。並且HibernateDaoSupport必須連接到一個bean來設置它的SessionFactory。 – Blankman 2010-07-15 15:07:39

0

還有另一種方法。如果你不想使用HibernateDaoSupport,那麼你可以直接將SessionFactory注入到你的DAO類中。這可以避免將你壓縮到Spring類。

請參閱此例如 - Spring Doc

這說明如何直接使用Hibernate的API。

希望有所幫助。