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

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

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

    posts - 68, comments - 19, trackbacks - 0, articles - 1
    1.many to one 多對(duì)一映射
    此種模型最經(jīng)典的為user-->group,即站在user的角度上看,是由多個(gè)user對(duì)象屬于一個(gè)group對(duì)象。反過來的話,則是一個(gè)group對(duì)應(yīng)多個(gè)user,那是一對(duì)多關(guān)系。此種映射一旦建立,能在得到user對(duì)象的時(shí)候通過對(duì)象之間的關(guān)系得到group的屬性。

    類:
    User:
    private int id;
    private String name;
    private Group group;
    Group: 
    private int id;
    private String name;

    主要映射文件:
    <class name="com.vle.domain.User" table="t_user">
      <id name="id">
       <generator class="native"/>
      </id>
      <property name="name"/>
      <many-to-one name="group" column="groupid"/>
     </class>

    得到屬性值:
    User u=(User) session.load(User.class, 1);
    System.out.print(u.getName()+"-->"+u.getGroup().getName());

    2.one2one 主鍵關(guān)聯(lián) 單向映射
    Person-->IdCard 一個(gè)人對(duì)應(yīng)一個(gè)身份證,"人"引用了"身份證"的主鍵作為外鍵,同時(shí)也作為"人"這張表的主鍵。
    Person: 
    private int id;
    private String name;
    private IdCard idCard;
    IdCard:
    private int id;
    private String cardNo;

    主要映射文件:
    <class name="com.vle.domain.Person" table="t_person">
      <id name="id">
       <!-- 通過foreign得到id生成策略,foreign會(huì)得到關(guān)聯(lián)對(duì)象的標(biāo)示 -->
       <generator class="foreign">
        <!-- property指的是建立關(guān)系的關(guān)聯(lián)對(duì)象,即Person中引用IdCard的idCard -->
        <param name="property">idCard</param>
       </generator>
      </id>
      <property name="name"/>
       <!-- 使用one-to-one標(biāo)簽進(jìn)行描述,不會(huì)改變表結(jié)構(gòu),讓hibernate加載關(guān)聯(lián)對(duì)象,默認(rèn)關(guān)聯(lián)對(duì)象的主鍵作為此類的主鍵
        使用 constrained生成外鍵約束
        name:指加載對(duì)象時(shí),通過Person指定的主鍵(也就是idCard)把IdCard的關(guān)聯(lián)加上去
        -->
      <one-to-one name="idCard" constrained="true"/>
     </class>

    3.one2one 主鍵關(guān)聯(lián) 雙向映射
    需要在IdCard對(duì)象中加入對(duì)Person的引用 
    IdCard:
    private int id;
    private String cardNo;
    private Person person;

    并且需要在IdCard.hbm.xml中加入對(duì)引用的描述:
     <class name="com.vle.domain.IdCard" table="t_idcard">
      <id name="id">
       <generator class="native"/>
      </id>
      <property name="cardNo"/>
      <one-to-one name="person"/>
     </class>

    4 one2one 唯一外鍵關(guān)聯(lián) 單向關(guān)聯(lián)
    在person中持有idcard的引用:
    private IdCard idCard;
    Person映射文件:
     <class name="com.vle.domain.Person" table="t_person">
      <id name="id">
       <generator class="native"/>
        </id>
      <property name="name"/>
      <many-to-one name="idCard" unique="true"/>
     </class>
    一對(duì)一唯一外鍵關(guān)聯(lián)可以看做多對(duì)一的一種特例,只需要在many to one標(biāo)簽中將unique的屬性設(shè)置為true即可。

    5 one2one 唯一外鍵關(guān)聯(lián) 雙向關(guān)聯(lián)
    需要在IdCard中持有對(duì)Person的引用
    private Person person;
    IdCard映射文件:
     <one-to-one name="person" property-ref="idCard"/>
    將person用一對(duì)一標(biāo)簽描述,并且引用了外鍵idCard。


    Feedback

    # re: Hibernate中的幾種經(jīng)典對(duì)象模型和關(guān)系模型的映射(1)  回復(fù)  更多評(píng)論   

    2011-01-03 09:55 by ugg boots stores
    向左走,向右走,呵呵、、我喜歡

    # re: Hibernate中的幾種經(jīng)典對(duì)象模型和關(guān)系模型的映射(1)  回復(fù)  更多評(píng)論   

    2011-01-04 12:50 by xylz
    可以畫一些圖描述一下
    主站蜘蛛池模板: 久久国产亚洲精品无码| 久久影院亚洲一区| 亚洲理论片在线观看| 一级特黄aa毛片免费观看| 亚洲国产精品嫩草影院在线观看| 精品国产污污免费网站入口在线| 国产成人A亚洲精V品无码| 丰满人妻一区二区三区免费视频| 亚洲熟妇无码另类久久久| 久久精品国产免费| 精品无码一区二区三区亚洲桃色| 国产一卡二卡四卡免费| 亚洲一区无码中文字幕乱码| 成人毛片免费观看视频在线| 亚洲日韩国产欧美一区二区三区| 永久免费AV无码网站在线观看| 国产亚洲Av综合人人澡精品| 亚洲福利中文字幕在线网址| 99免费在线视频| 亚洲网站在线观看| 好爽…又高潮了毛片免费看 | 午夜宅男在线永久免费观看网| 亚洲依依成人精品| 国产成人精品男人免费| 一级做a爰片久久免费| 亚洲av午夜福利精品一区人妖| 日本免费网站视频www区| 亚洲人成电影网站色www| 亚洲欧洲久久久精品| 暖暖免费在线中文日本| 亚洲国产91在线| 亚洲日韩精品无码专区网站| 日本一卡精品视频免费| 亚洲AV永久无码精品网站在线观看| 亚洲无码精品浪潮| 午夜国产精品免费观看| yellow免费网站| 亚洲av成人一区二区三区| 亚洲精品国自产拍在线观看| 免费在线观看视频网站| 成在线人直播免费视频|