<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    kapok

    垃圾桶,嘿嘿,我藏的這么深你們還能找到啊,真牛!

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      455 隨筆 :: 0 文章 :: 76 評(píng)論 :: 0 Trackbacks
    http://m.tkk7.com/jinfeng_wang/archive/2005/04/03/2798.html

     <list name="tracks" table="ALBUM_TRACKS" cascade="all">

          <meta attribute="use-in-tostring">true</meta>

          <key column="ALBUM_ID"/>

          <index column="POS"/>

          <composite-element class="com.oreilly.hh.AlbumTrack">

            <many-to-one name="track" class="com.oreilly.hh.Track" cascade="all">

              <meta attribute="use-in-tostring">true</meta>

              <column name="TRACK_ID"/>

            </many-to-one>

            <property name="disc" type="integer" not-null="true"/>

            <property name="positionOnDisc" type="integer" not-null="true"/>

          </composite-element>

        </list>

    The cascade attribute tells Hibernate that you want operations performed on a 'parent' object to be transitively applied to its 'child' or 'dependent' objects. It's applicable to all forms of collections and associations. There are several possible values to choose among. The most common are none (the default), save-update, delete, and all (which combines save-update and delete). You can also change the default from none to save-update throughout your entire mapping document by supplying a default-cascade attribute in the hibernate-mapping tag itself.

    級(jí)聯(lián)(cascade)屬性告訴hibernate:所有對(duì)父對(duì)象的操作都將付諸于子對(duì)象和依賴對(duì)象上。級(jí)聯(lián)可以應(yīng)用于各種形式的集合和關(guān)聯(lián)中。這里級(jí)聯(lián)的具體取值可以有多個(gè),最常用的有:none(默認(rèn)值),save-update,delete和all(其中包含了save-update和delete)。你可以在hibernate-mappiong tag中通過設(shè)置default-casade屬性,修改這里的casade的默認(rèn)值,例如修改其默認(rèn)值為save-update。

    In our example, we want the tracks owned by an album to be automatically managed by the album, so that when we delete the album, its tracks are deleted. Note that we need to apply the
    cascade attribute both to the tracks collection and its constituent track element to achieve this. Also, by using a cascade value of all, we eliminate the need to explicitly save any Track objects we create for the album—the addAlbumTrack() method of Example 5-7 no longer needs the line:

       session.save(track);

    在我們的例子中,我們希望track完全由album自動(dòng)掌管,當(dāng)我們刪除album時(shí),它的track也會(huì)被刪除。注意,這里我們需要在兩處設(shè)置casade屬性實(shí)現(xiàn)此任務(wù):tracks集合和它的組成元素track。同樣,由于我們講casade設(shè)置為all,那么不再需要顯式的保存為album創(chuàng)建的track對(duì)象,5-7例子中的addAlbumTrack方法不再需要調(diào)用session.save(track)方法。

    By telling Hibernate that it's fully responsible for the relationship between an album and its track, we enable it to persist tracks when they're added to the album as well as delete them when the album itself is deleted.


    通過高知hibernate,由其完全負(fù)責(zé)album和track直接的關(guān)系,可以保證track在加入到album時(shí)自動(dòng)保存,在album刪除時(shí)自動(dòng)刪除。

    Delegating this sort of bookkeeping to the mapping layer can be very convenient, freeing you to focus on more abstract and important tasks, so it is worth using when appropriate. It's reminiscent of the liberation provided by Java's pervasive garbage collection, but it can't be as comprehensive because there is no definitive way to know when you're finished with persistent data by performing reachability analysis; you need to indicate it by calling
    delete() and establishing lifecycle connections. The trade-off between flexibility and simple automation is yours to make, based on the nature of your data and the needs of your project.
    將這樣的任務(wù)完全交代給持久層使得我們的任務(wù)更加的簡(jiǎn)便,可以讓我們將注意力投注于更抽象更重要的業(yè)務(wù),因此恰當(dāng)?shù)氖褂胏asade是值得的,這就像java的垃圾收集一樣,使我們的工作得到了一定的解放。但是,由于目前并沒有任何的可達(dá)性分析方法,可以確切的知道“你是否已經(jīng)不再需要此持久層數(shù)據(jù)”,因此你必須調(diào)用delete()方法,才能建立起此生命周期鏈接。你必須依據(jù)你的數(shù)據(jù)的特點(diǎn)和項(xiàng)目的需要,在靈活性和自動(dòng)化的簡(jiǎn)單性進(jìn)行權(quán)衡。

    For example, if you use Collections methods to remove a Track from an Album's tracks property, this breaks the link between the Album and Track but does not actually delete the Track record. Even if you later delete the entire Album, this Track will remain, because it wasn't linked to the Album at the time that it was deleted.
    例如:如果你使用Album的tracks collection的remove方法,刪除一個(gè)track,這將會(huì)移除album和track直接的鏈接,但是它并沒真正的刪除track記錄。即使你后來整個(gè)的刪除album,這個(gè)track也將會(huì)繼續(xù)保留著,因?yàn)榇藭r(shí)該track已經(jīng)和album失去了鏈接。
    posted on 2005-04-03 23:06 笨笨 閱讀(200) 評(píng)論(0)  編輯  收藏 所屬分類: J2EEALL
    主站蜘蛛池模板: 亚洲精品无码久久不卡| 亚洲国产精品无码久久SM | 亚洲国产精品VA在线看黑人| 色婷五月综激情亚洲综合| 国产精品亚洲av色欲三区| 久久www免费人成精品香蕉| 18成禁人视频免费网站| 国产福利免费观看| 久久精品国产亚洲av麻豆| 亚洲精品伊人久久久久| 一个人免费视频观看在线www | 国产亚洲精品va在线| 亚洲av产在线精品亚洲第一站 | 国产精品玖玖美女张开腿让男人桶爽免费看 | 亚洲国产主播精品极品网红 | 13小箩利洗澡无码视频网站免费| 国产精品免费视频网站| 亚洲va成无码人在线观看| 日韩人妻无码精品久久免费一| 在线免费视频一区二区| 亚洲国产AV无码专区亚洲AV| 免费人成再在线观看网站 | 亚洲视频2020| 免费国产va视频永久在线观看| 毛片免费全部免费观看| 久久亚洲免费视频| 国产成人综合亚洲| 亚洲免费网站在线观看| 4338×亚洲全国最大色成网站| 亚洲制服丝袜一区二区三区| 国产高潮流白浆喷水免费A片 | 亚洲国产综合久久天堂| 人人狠狠综合久久亚洲| 91av在线免费视频| 亚洲精品一级无码鲁丝片| 丰满亚洲大尺度无码无码专线| 成年女人免费v片| 色婷五月综激情亚洲综合| 久久久久久久免费视频| 亚洲av激情无码专区在线播放| 国产一级一毛免费黄片|