<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
    而無法為  回復  更多評論
      


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


    網站導航:
     
    主站蜘蛛池模板: 一级毛片免费播放| 一级一黄在线观看视频免费| 七色永久性tv网站免费看| 亚洲成aⅴ人片久青草影院| 亚洲成在人线在线播放无码| 一色屋成人免费精品网站| 亚洲色av性色在线观无码| 一级毛片免费观看不卡的| 亚洲最大福利视频网站| 欧洲精品99毛片免费高清观看| 亚洲av无码无在线观看红杏| 成在人线av无码免费高潮喷水 | 在线观看免费大黄网站| 久久亚洲精品国产亚洲老地址 | 在线观看特色大片免费视频| 亚洲国产美女精品久久| 免费福利网站在线观看| 国产午夜亚洲精品| 国产成人精品免费视频大全五级| 国产综合成人亚洲区| 亚洲国产成人久久精品99| CAOPORN国产精品免费视频| 久久精品国产96精品亚洲 | 黄色免费在线网站| 久久青青草原亚洲av无码app| 免费AA片少妇人AA片直播| 亚洲精品欧美综合四区| 青青青国产色视频在线观看国产亚洲欧洲国产综合| 风间由美在线亚洲一区| 国产亚洲精品成人a v小说| 久久国产精品免费视频| 亚洲精品亚洲人成在线播放| 日本a级片免费看| 韩国免费A级毛片久久| 亚洲性色高清完整版在线观看| 在线观看免费污视频| 国产性生大片免费观看性| 亚洲色欲www综合网| 国产午夜免费秋霞影院| 美女视频黄a视频全免费网站色窝| 亚洲日韩乱码中文无码蜜桃|