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

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

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

    java技術(shù)

    hibernate spring struts

    BlogJava 聯(lián)系 聚合 管理
      18 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks

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

    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;                                      

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

    5.2   一對多映射
    雙向一對多關(guān)系,一是關(guān)系維護端(owner side),多是關(guān)系被維護端(inverse side)。 建表時在關(guān)系被維護端建立外鍵列指向關(guān)系維護端的主鍵列。
    假設(shè)Father 和 Child 是雙向一對多的關(guān)系,具體元數(shù)據(jù)聲明如下:
    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;       
    }
    }
     
    代碼中元數(shù)據(jù)的說明:元數(shù)據(jù)描述:
    @OneToMany(targetEntity = Child.class, cascade = CascadeType.ALL, mappedBy = "father")
    targetEntity = Child.class表明關(guān)系另一端的實體類型
    cascade聲明級聯(lián)操作。
    mappedBy聲明關(guān)系維護端的字段(field)名。
    @ManyToOne
    @JoinColumn(name = "FATHER_ID", referencedColumnName = "id")
    name聲明外鍵列的名字,referencedColumnName聲明外鍵指向列的列名。

    5.3     多對多映射
    多對多映射采取中間表連接的映射策略,建立的中間表將分別引入兩邊的主鍵作為外鍵。
    EJB3對于中間表的元數(shù)據(jù)提供了可配置的方式,用戶可以自定義中間表的表名,列名。
    假設(shè)Teacher 和 Student是多對多的關(guān)系,具體元數(shù)據(jù)聲明如下:
    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;        }
    }

    代碼中元數(shù)據(jù)的說明:
    元數(shù)據(jù)描述:
    @ManyToMany(targetEntity = Student.class, cascade = CascadeType.PERSIST)
    targetEntity = Student.class表明關(guān)系另一端的實體類型。cascade聲明級聯(lián)操作。
    @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 ,定義中間表與關(guān)系維護端的外鍵關(guān)系。
    3) inverseJoinColumns,定義中間表與inverse端的外鍵關(guān)系.

    本文來自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
    而無法為  回復(fù)  更多評論
      


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲春色另类小说| 亚洲无吗在线视频| 色影音免费色资源| 青草久久精品亚洲综合专区| 亚洲午夜未满十八勿入网站2| 久9久9精品免费观看| 亚洲精品mv在线观看| 四虎永久免费观看| 性xxxxx大片免费视频| 麻豆亚洲AV成人无码久久精品 | 中文字幕亚洲色图| 我要看WWW免费看插插视频| 国产成人无码精品久久久免费| 亚洲综合久久综合激情久久 | 国产zzjjzzjj视频全免费| 久久性生大片免费观看性| 亚洲性无码av在线| 中文字幕亚洲日本岛国片| 欧美男同gv免费网站观看| 中文字幕永久免费| 亚洲AV无码专区国产乱码不卡 | 免费观看亚洲人成网站| 亚洲美女视频一区二区三区| 亚洲综合激情另类专区| 最新猫咪www免费人成| 色欲A∨无码蜜臀AV免费播| 美女视频黄a视频全免费网站一区| 亚洲国产精品婷婷久久| 亚洲国产婷婷综合在线精品| AA免费观看的1000部电影| a级毛片免费完整视频| 美女一级毛片免费观看| 亚洲国产一区在线观看| 久久久久久亚洲精品| 亚洲国产一成久久精品国产成人综合| 国产va精品免费观看| 亚洲免费在线视频| 九九热久久免费视频| 麻豆va在线精品免费播放| 亚洲人成网站免费播放| 亚洲福利一区二区三区|