<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
    主站蜘蛛池模板: 亚洲国产成AV人天堂无码| 又粗又大又猛又爽免费视频| 无码乱肉视频免费大全合集 | 美女尿口扒开图片免费| h在线观看视频免费网站| 精品亚洲麻豆1区2区3区| 99久热只有精品视频免费观看17| 亚洲日韩精品一区二区三区| 一级成人a做片免费| 久久精品国产亚洲AV网站| 91精品免费观看| 特级aaaaaaaaa毛片免费视频| 亚洲一区二区三区夜色| av无码东京热亚洲男人的天堂| 一区二区三区免费精品视频| 亚洲已满18点击进入在线观看| 免费无码又爽又刺激高潮| 精品特级一级毛片免费观看| 国产精品亚洲片在线观看不卡 | 97在线免费视频| 国产免费看插插插视频| 国产亚洲精品第一综合| 亚洲欧洲日本在线观看 | 亚洲一卡2卡3卡4卡国产网站| 日韩成人在线免费视频| 一出一进一爽一粗一大视频免费的| 羞羞漫画小舞被黄漫免费| 羞羞漫画登录页面免费| 国产成人免费AV在线播放| 老汉色老汉首页a亚洲| 老色鬼久久亚洲AV综合| 亚洲av永久无码制服河南实里| 亚洲VA中文字幕无码一二三区 | 免费福利资源站在线视频| 亚洲精品福利网泷泽萝拉| 一个人免费高清在线观看| 国产精品免费看久久久| 男男黄GAY片免费网站WWW| 免费一级毛片在线播放视频免费观看永久 | 18禁无遮挡无码国产免费网站| 精品无码一级毛片免费视频观看|