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

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

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

    java技術

    hibernate spring struts

    BlogJava 聯系 聚合 管理
      18 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks

    5.1    一對一映射
    雙向一對一關系需要在關系維護端(owner side)的one2one Annotition定義mappedBy屬性。建表時在關系被維護端(inverse side)建立外鍵列指向關系維護端的主鍵列。
    假設Country 和 Capital 是雙向一對一的關系,具體元數據聲明如下:

    public class Country {       
    @OneToOne(optional = true,cascade = CascadeType.ALL, mappedBy = "country")       
    private Capital capital;
    }

    public class Capital {       
    @OneToOne(optional = false, cascade = CascadeType.ALL)       
    @JoinColumn(name = "COUNTRY_ID", referencedColumnName = "id")       
    private Country country;                                      

    代碼中元數據的說明:
    元數據描述:
    @OneToOne(optional = true,cascade = CascadeType.ALL, mappedBy = "country")
    optional聲明關系是否是必須存在的,即是否允許其中一端為null。
    cascade聲明級聯操作。
    @JoinColumn(name = "COUNTRY_ID", referencedColumnName = "id")
    name聲明外鍵列的名字,referencedColumnName聲明外鍵指向列的列名。

    5.2   一對多映射
    雙向一對多關系,一是關系維護端(owner side),多是關系被維護端(inverse side)。 建表時在關系被維護端建立外鍵列指向關系維護端的主鍵列。
    假設Father 和 Child 是雙向一對多的關系,具體元數據聲明如下:
    public class Father {       
    @OneToMany(targetEntity = Child.class, cascade = CascadeType.ALL, mappedBy = "father")       
    public List<Child> getChildren() {              
    return children;        }
    }

    public class Child {       
    @ManyToOne       
    @JoinColumn(name = "FATHER_ID", referencedColumnName = "id")       
    public Father getFather() {              
    return father;       
    }
    }
     
    代碼中元數據的說明:元數據描述:
    @OneToMany(targetEntity = Child.class, cascade = CascadeType.ALL, mappedBy = "father")
    targetEntity = Child.class表明關系另一端的實體類型
    cascade聲明級聯操作。
    mappedBy聲明關系維護端的字段(field)名。
    @ManyToOne
    @JoinColumn(name = "FATHER_ID", referencedColumnName = "id")
    name聲明外鍵列的名字,referencedColumnName聲明外鍵指向列的列名。

    5.3     多對多映射
    多對多映射采取中間表連接的映射策略,建立的中間表將分別引入兩邊的主鍵作為外鍵。
    EJB3對于中間表的元數據提供了可配置的方式,用戶可以自定義中間表的表名,列名。
    假設Teacher 和 Student是多對多的關系,具體元數據聲明如下:
    pubic class Teacher{       
    @ManyToMany(targetEntity = Student.class, cascade = CascadeType.PERSIST)       
    @JoinTable(table = @Table(name = "M2M_TEACHER_STUDENT"),       
    joinColumns = @JoinColumn(name = "TEACHER_ID", referencedColumnName = "ID"), 
    inverseJoinColumns = @JoinColumn(name = "STUDENT_ID", referencedColumnName = "ID"))       
    public List<Student> getStudents() {
    return students;
    }                                     
    }

    public class Student{       
    @ManyToMany(targetEntity = Teacher.class, mappedBy = "students")       
    public List<Teacher> getTeachers() {              
    return teachers;        }
    }

    代碼中元數據的說明:
    元數據描述:
    @ManyToMany(targetEntity = Student.class, cascade = CascadeType.PERSIST)
    targetEntity = Student.class表明關系另一端的實體類型。cascade聲明級聯操作。
    @JoinTable(table = @Table(name = "M2M_TEACHER_STUDENT"),
    joinColumns = @JoinColumn(name = "TEACHER_ID", referencedColumnName = "ID"),
    inverseJoinColumns = @JoinColumn(name = "STUDENT_ID", referencedColumnName = "ID"))
    JoinTable配置中間表信息,它由3個部分組成:
    1) table = @Table(name = "M2M_TEACHER_STUDENT") ,聲明中間表的名字
    2) joinColumns ,定義中間表與關系維護端的外鍵關系。
    3) inverseJoinColumns,定義中間表與inverse端的外鍵關系.

    本文來自CSDN博客,出處:http://blog.csdn.net/senton/archive/2007/03/15/1529969.aspx

    posted on 2009-11-05 12:40 just 閱讀(1348) 評論(1)  編輯  收藏

    Feedback

    # re: JPA 映射 2013-08-16 12:15 ew
    而無法為  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久久精品免费视频| eeuss影院www天堂免费| 黄在线观看www免费看| 亚洲高清在线mv| 亚洲视频在线免费播放| 亚洲国产成人精品无码区在线秒播 | 亚洲国产中文在线视频| 青青操免费在线视频| 亚洲AV中文无码乱人伦下载| 国产一区二区免费视频| 久久99国产亚洲精品观看| 亚洲免费黄色网址| 在线精品亚洲一区二区| 国产在线a不卡免费视频| 日韩在线观看免费完整版视频| 国产99久久久国产精免费| 中文字幕无码精品亚洲资源网| 久久精品国产亚洲av水果派| 无码A级毛片免费视频内谢| 亚洲码在线中文在线观看| 成人毛片免费在线观看| 国产成人精品亚洲一区| 亚洲综合小说久久另类区| 最近中文字幕无免费| 久久久久亚洲国产| 免费观看国产小粉嫩喷水| 国内精品免费在线观看| 亚洲乱码一二三四区国产| 四虎精品亚洲一区二区三区| 久草视频在线免费看| 亚洲精品无码国产片| 亚洲中文字幕无码爆乳AV| 免费可以看黄的视频s色| 日韩大片在线永久免费观看网站| 日本精品人妻无码免费大全| 亚洲AV女人18毛片水真多| 丝袜熟女国偷自产中文字幕亚洲| 精品成人一区二区三区免费视频| 国产成人免费网站| 国产免费人成视频尤勿视频| 亚洲人成网站日本片|