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

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

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

    wiflish
    Loving Life! Loving Coding!
    posts - 98,comments - 98,trackbacks - 0
    一個Person可以參加多個Event,一個Event有多個Person參加。
    映射文件如下:
    <!-- Person.hbm.xml -->
    <
    hibernate-mapping?package="events">
    ??
    <class?name="Person"?table="person">
    ??????
    <id?name="id"?column="person_id">
    ??????????
    <generator?class="native"/>
    ??????
    </id>
    ??????
    <property?name="age"?length="0"/>
    ??????
    <property?name="firstname"/>
    ??????
    <property?name="lastname"/>
    ??????
    <set?name="events"?table="person_event">
    ??????????
    <key?column="person_id"/>
    ??????????
    <many-to-many?column="event_id"?class="events.Event"/>
    ??????
    </set>
    ??
    </class>
    </hibernate-mapping>

    <!-- Event.hbm.xml -->
    <
    hibernate-mapping>
    ??
    <class?name="events.Event"?table="events">
    ??????
    <id?name="id"?column="event_id">
    ????????????
    <generator?class="native"/>
    ??????
    </id>
    ??????
    <property?name="date"?column="events_date"?type="timestamp"/>
    ??????
    <property?name="title"?column="events_title"/>
    ??????
    <set?name="participants"?table="person_event"?inverse="true">
    ??????????
    <key?column="event_id"/>
    ??????????
    <many-to-many?column="person_id"?class="events.Person"/>
    ??????
    </set>
    ??
    </class>
    </hibernate-mapping>

    inverse=true的含義: 由雙向關聯另一方維護該關聯,己方不維護該關聯(只能進行查詢操作)。在上述代碼中,由Person方維護該<many-to-many>關系,示例代碼如下(以向Person參與的Event中加入新的Event為例):
    ????????Session?session?=?HibernateUtil.getSessionFactory().getCurrentSession();
    ????????session.beginTransaction();
    ????????Person?p?
    =?(Person)?session.load(Person.class,?personId);
    ????????Event?e?
    =?(Event)?session.load(Event.class,?eventId);
    ????????p.getEvents().add(e);//執行該代碼時,hibernate會向中間表 person_event中插入person_id和event_id記錄,如果換成e.getParticipants().add(p)的話,該代碼將不會被執行,即hibernate不會向表person_event中插入記錄。
    ????????session.getTransaction().commit();

    要注意的一點:在雙向關聯的關系中,映射的column(和table)的值要一致(即要用相同的表名和列名),不然設置為inverse="true"的這方將失去這個雙向關系,而變成了一個單向關聯。
    posted on 2006-06-15 17:16 想飛的魚 閱讀(2938) 評論(0)  編輯  收藏 所屬分類: hibernate
    主站蜘蛛池模板: 看免费毛片天天看| 亚洲国产成人手机在线观看| 国产VA免费精品高清在线| 国产精品免费电影| 国产精品成人亚洲| 亚洲国产综合无码一区二区二三区 | 国产亚洲一区区二区在线 | 性色av极品无码专区亚洲| 女人毛片a级大学毛片免费| 亚洲精品又粗又大又爽A片| 午夜私人影院免费体验区| 欧洲亚洲综合一区二区三区| 免费一级黄色毛片| 中文字幕久无码免费久久| 香蕉蕉亚亚洲aav综合| 91人成网站色www免费下载| 亚洲一级毛片视频| 日韩黄色免费观看| 国产精品小视频免费无限app| 亚洲无线观看国产精品| 免费女人高潮流视频在线观看| 亚洲国产亚洲片在线观看播放| 成人性生交视频免费观看| 极品美女一级毛片免费| 久久91亚洲人成电影网站| 国产成人精品免费视| 日韩色日韩视频亚洲网站| 国产亚洲精品自在久久| 久久精品国产免费观看| 老子影院午夜伦不卡亚洲| 亚洲精品制服丝袜四区| 韩国免费一级成人毛片| 四虎影视久久久免费| 亚洲一区二区电影| 国产三级电影免费观看| 免费观看久久精彩视频| 亚洲午夜福利在线视频| 亚洲狠狠婷婷综合久久久久 | 亚洲中文字幕无码亚洲成A人片| 亚洲国产中文v高清在线观看| 免费视频爱爱太爽了|