大漠駝鈴

          置身浩瀚的沙漠,方向最為重要,希望此blog能向大漠駝鈴一樣,給我方向和指引。
          Java,Php,Shell,Python,服務(wù)器運(yùn)維,大數(shù)據(jù),SEO, 網(wǎng)站開(kāi)發(fā)、運(yùn)維,云服務(wù)技術(shù)支持,IM服務(wù)供應(yīng)商, FreeSwitch搭建,技術(shù)支持等. 技術(shù)討論QQ群:428622099
          隨筆 - 238, 文章 - 3, 評(píng)論 - 117, 引用 - 0
          數(shù)據(jù)加載中……

          hibernate的 fetch lazy inverse cascade

          1.fetch 和 lazy 主要用于級(jí)聯(lián)查詢(xún)(select) 而 inverse和cascade主要用于級(jí)聯(lián)增、加刪、除修改(sava-update,delete)
          2.想要?jiǎng)h除父表中的記錄,但希望子表中記錄的外鍵引用值設(shè)為null的情況:
             父表的映射文件應(yīng)該如下配置:
                  <set name="emps" inverse="false" cascade="all">
                      <key>
                          <column name="DEPTNO" precision="2" scale="0" />
                      </key>
                      <one-to-many class="com.sino.hibernate.Emp" />
                  </set>
              inverse="false"是必須的,cascade可有可無(wú),并且子表的映射文件中inverse沒(méi)必要設(shè)置,cascade也可以不設(shè)置,如果設(shè)置就設(shè)置成為cascade="none"或者cascade="sava-update"
          <many-to-one name="dept" class="com.sino.hibernate.Dept" fetch="select" cascade="save-update">
                      <column name="DEPTNO" precision="2" scale="0" />
                  </many-to-one>


          3.關(guān)于級(jí)聯(lián)查找
            對(duì)子表的持久化類(lèi)進(jìn)行查找的時(shí)候,會(huì)一起把子表持久化類(lèi)中的父表持久化類(lèi)的對(duì)象一起查詢(xún)出來(lái),在頁(yè)面中可以直接取值的情況:
              要把父表的映射文件中設(shè)置 lazy 屬性如下:
          <class name="com.sino.hibernate.Emp" table="EMP" schema="SCOTT" lazy="false">
          這樣就可以直接在頁(yè)面中取值 (類(lèi)似于這樣的取值 client.cmanager.id)
          如果沒(méi)有設(shè)置 lazy="false" 則會(huì)拋出異常
          javax.servlet.ServletException: Exception thrown by getter for property cmanager.realName of bean cl
          在Action中取值的話(huà)就會(huì)拋出
          could not initialize proxy - the owning Session was closed的異常

          posted on 2009-03-09 19:41 草原上的駱駝 閱讀(550) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): JAVA框架

          主站蜘蛛池模板: 贡嘎县| 晋城| 连城县| 巴中市| 利津县| 深圳市| 永清县| 嘉禾县| 拜泉县| 绥阳县| 长子县| 华宁县| 华亭县| 洪洞县| 黑水县| 思南县| 拉孜县| 华宁县| 拉萨市| 天气| 沧州市| 天水市| 邹平县| 彭泽县| 平阴县| 怀仁县| 临澧县| 邹平县| 丰原市| 璧山县| 汉沽区| 武定县| 乌拉特前旗| 武鸣县| 文水县| 永嘉县| 织金县| 瓮安县| 保定市| 上饶市| 邹城市|