<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 【第八章】 對ORM的支持 之 8.1 概述 ——跟我學spring3 ## 8.1? 概述 ### 8.1.1? ORM框架 ORM全稱對象關系映射(Object/Relation Mapping),指將Java對象狀態自動映射到關系數據庫中的數據上,從而提供透明化的持久化支持,即把一種形式轉化為另一種形式。 對象與關系數據庫之間是不匹配,我們把這種不匹配稱為阻抗失配,主要表現在: * 關系數據庫首先不支持面向對象技術如繼承、多態,如何使關系數據庫支持它們; * 關系數據庫是由表來存放數據,而面向對象使用對象來存放狀態;其中表的列稱為屬性,而對象的屬性就是屬性,因此需要通過解決這種不匹配; * 如何將對象透明的持久化到關系數據庫表中; * 如果一個對象存在橫跨多個表的數據,應該如何為對象建模和映射。 其中這些阻抗失配只是其中的一小部分,比如還有如何將SQL集合函數結果集映射到對象,如何在對象中處理主鍵等。 ORM框架就是用來解決這種阻抗失配,提供關系數據庫的對象化支持。 ORM框架不是萬能的,同樣符合**80/20法則**,應解決的最核心問題是如何在關系數據庫表中的行和對象進行映射,并自動持久化對象到關系數據庫。 ORM解決方案適用于解決透明持久化、小結果集查詢等;對于復雜查詢,大結果集數據處理還是沒有任何幫助的。 目前已經有許多ORM框架產生,如Hibernate、JDO、JPA、iBATIS等等,這些ORM框架各有特色,Spring對這些ORM框架提供了很好的支持,接下來首先讓我們看一下Spring如何支持這些ORM框架。 ### 8.1.2? Spring對ORM的支持 Spring對ORM的支持主要表現在以下方面: * 一致的異常體系結構,對第三方ORM框架拋出的專有異常進行包裝,從而在使我們在Spring中只看到DataAccessException異常體系; * 一致的DAO抽象支持:提供類似與JdbcSupport的DAO支持類HibernateDaoSupport,使用HibernateTemplate模板類來簡化常用操作,HibernateTemplate提供回調接口來支持復雜操作; * Spring事務管理:Spring對所有數據訪問提供一致的事務管理,通過配置方式,簡化事務管理。 Spring還在測試、數據源管理方面提供支持,從而允許方便測試,簡化數據源使用。 接下來讓我們學習一下Spring如何集成ORM框架—Hibernate。 原創內容,轉載請注明出處【[http://sishuok.com/forum/blogPost/list/0/2495.html](http://sishuok.com/forum/blogPost/list/0/2495.html#7212)】
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看