隨筆 - 22  文章 - 3  trackbacks - 0
          <2009年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          Spring為Hibernate的DAO提供工具類:HibernateDaoSupport。對照API,該類主要提供兩個方法:
          • public final HibernateTemplate getHibernateTemplate()
          • public final void setSessionFactory(SessionFactory sessionFactory)

          其中,setSessionFactory方法接收來自Spring的applicationContext的依賴注入,接收了配置在Spring中的SessionFactory實例,getHibernateTemplate方法用來利用剛才的SessionFactory生成Session,再生成HibernateTemplate來完成數據庫的訪問。

          典型的繼承HibernateDaoSupport的DAO代碼如下:

          public class UserDAOImpl extends HibernateDaoSupport implements UserDAO{
          public void save(Users transientInstance) {
          log.debug("saving Users instance");
          try {
          getHibernateTemplate().save(transientInstance);
          log.debug("save successful");
          } catch (RuntimeException re) {
          log.error("save failed", re);
          throw re;
          }
          }
          ………………
          }
          實際上,DAO的實現依然借助了HibernateTemplate的模板訪問方式,只是,HibernateDaoSupport將依賴注入SessionFactory的工作已經完成,獲取HibernateTemplate的工作也已經完成。注意,這種方法須在Spring的配置文件中配置SessionFactory。

          在繼承HibrnateDaoSupport的DAO實現里,Hibernate Session的管理完全不需要Hibernate代碼打開,而由Spring來管理。Spring會根據實際的操作,采用“每次事務打開一次session”的策略,自動提高數據庫訪問的性能。

          posted on 2009-03-06 12:43 圣克爾·光 閱讀(986) 評論(0)  編輯  收藏 所屬分類: SSH
          主站蜘蛛池模板: 孝义市| 阿瓦提县| 合作市| 林甸县| 高雄县| 五寨县| 屯门区| 天祝| 开平市| 湘西| 横峰县| 庐江县| 威信县| 武山县| 沁水县| 孙吴县| 二连浩特市| 广平县| 奎屯市| 华阴市| 弥渡县| 临高县| 开封市| 富顺县| 营口市| 钟山县| 巍山| 万盛区| 鄂托克旗| 沈阳市| 永福县| 嵊州市| 翼城县| 青州市| 乐至县| 潞西市| 玛沁县| 克拉玛依市| 裕民县| 临泽县| 兴义市|