成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hibernate多對多關系映射

開發 后端
兩個實體表,還包含一個關系表,關系表為復合主鍵,如果要使用Hibernate多對多關系映射,則關系表必須只包含兩個字段,如果生成了Hibernate多對多關系映射,則中間關系表不會生成實體。

下邊講述Hibernate多對多關系映射。

多對多關系的表的結構為:

兩個實體表,還包含一個關系表,關系表為復合主鍵,如果要使用Hibernate多對多關系映射,則關系表必須只包含兩個字段,如果生成了Hibernate多對多關系映射,則中間關系表不會生成實體(即沒有對應的pojo類,更沒有其映射文件)。

1、建立表

  1. DROP TABLE user_course ;  
  2. DROP TABLE user ;  
  3. DROP TABLE course ;  
  4. CREATE TABLE user (  
  5.     userid            varchar(20)              primary key ,  
  6.     name              varchar(20)              not null ,  
  7.     age               int                  not null ,  
  8.     birthday          date                 not null 
  9. );  
  10. CREATE TABLE course (  
  11.     id                int                  primary key auto_increment ,  
  12.     title             varchar(50)              not null,  
  13.     description          text                 not null,  
  14.    course_num        int                  not null 
  15. );  
  16. CREATE TABLE user_course (  
  17.     userid            varchar(20)              ,  
  18.     cid               int                  ,  
  19.     primary key (userid, cid ),  
  20.     foreign key (userid) references user (userid) on delete cascade ,  
  21.     foreign key (cid) references course (id) on delete cascade  
  22. ); 

2、生成映射

選擇三個表一起生成映射,選擇主鍵生成方式的那一步需要注意:

然后每個表的主鍵生成方式,各自獨立設置,即點擊下一步再設置,對于中間表,不需要選擇主鍵生成方式(參考復合主鍵映射)。

3、查看pojo類
 
生成好的pojo包含了多對多關系,而且沒有生成中間關系表的映射。

  1. package org.liky.pojo;  
  2. import java.util.Date;  
  3. import java.util.HashSet;  
  4. import java.util.Set;  
  5. public class User implements java.io.Serializable {  
  6.     // Fields  
  7.     private String userid;  
  8.     private String name;  
  9.     private Integer age;  
  10.     private Date birthday;  
  11.     private Set courses = new HashSet(0);  
  12.     // Constructors  
  13.     public User() {  
  14.     }  
  15.     public User(String userid, String name, Integer age, Date birthday) {  
  16.        this.userid = userid;  
  17.        this.name = name;  
  18.        this.age = age;  
  19.        this.birthday = birthday;  
  20.     }  
  21.     public User(String userid, String name, Integer age, Date birthday,  
  22.            Set courses) {  
  23.        this.userid = userid;  
  24.        this.name = name;  
  25.        this.age = age;  
  26.        this.birthday = birthday;  
  27.        this.courses = courses;  
  28.     }  
  29.     // Property accessors  
  30.     public String getUserid() {  
  31.        return this.userid;  
  32.     }  
  33.     public void setUserid(String userid) {  
  34.        this.userid = userid;  
  35.     }  
  36.     public String getName() {  
  37.        return this.name;  
  38.     }  
  39.     public void setName(String name) {  
  40.        this.name = name;  
  41.     }  
  42.     public Integer getAge() {  
  43.        return this.age;  
  44.     }  
  45.     public void setAge(Integer age) {  
  46.        this.age = age;  
  47.     }  
  48.     public Date getBirthday() {  
  49.        return this.birthday;  
  50.     }  
  51.     public void setBirthday(Date birthday) {  
  52.        this.birthday = birthday;  
  53.     }  
  54.     public Set getCourses() {  
  55.        return this.courses;  
  56.     }  
  57.     public void setCourses(Set courses) {  
  58.        this.courses = courses;  
  59.     }  
  60. }  
  61. package org.liky.pojo;  
  62. import java.util.HashSet;  
  63. import java.util.Set;  
  64. public class Course implements java.io.Serializable {  
  65.     // Fields  
  66.     private Integer id;  
  67.     private String title;  
  68.     private String description;  
  69.     private Integer courseNum;  
  70.     private Set users = new HashSet(0);  
  71.     // Constructors  
  72.     public Course() {  
  73.     }  
  74.     public Course(String title, String description, Integer courseNum) {  
  75.        this.title = title;  
  76.        this.description = description;  
  77.        this.courseNum = courseNum;  
  78.     }  
  79.     public Course(String title, String description, Integer courseNum, Set users) {  
  80.        this.title = title;  
  81.        this.description = description;  
  82.        this.courseNum = courseNum;  
  83.        this.users = users;  
  84.     }  
  85.     // Property accessors  
  86.     public Integer getId() {  
  87.        return this.id;  
  88.     }  
  89.     public void setId(Integer id) {  
  90.        this.id = id;  
  91.     }  
  92.     public String getTitle() {  
  93.        return this.title;  
  94.     }  
  95.     public void setTitle(String title) {  
  96.        this.title = title;  
  97.     }  
  98.     public String getDescription() {  
  99.        return this.description;  
  100.     }  
  101.     public void setDescription(String description) {  
  102.        this.description = description;  
  103.     }  
  104.     public Integer getCourseNum() {  
  105.        return this.courseNum;  
  106.     }  
  107.     public void setCourseNum(Integer courseNum) {  
  108.        this.courseNum = courseNum;  
  109.     }  
  110.     public Set getUsers() {  
  111.        return this.users;  
  112.     }  
  113.     public void setUsers(Set users) {  
  114.        this.users = users;  
  115.     }  


 

【編輯推薦】

  1. 強人Hibernate文檔筆記(上)
  2. 強人Hibernate文檔筆記(中)
  3. 強人Hibernate文檔筆記(下)
  4. Hibernate一對多關系的處理
  5. Hibernate的性能優化
責任編輯:仲衡 來源: 紫色飛鳥的博客
相關推薦

2012-02-08 13:34:08

HibernateJava

2009-06-04 10:34:19

Hibernate一對一對多關系配置

2009-06-04 16:14:22

Hibernate一對Hibernate一對Hibernate多對

2009-09-23 13:26:10

Hibernate對象

2009-09-25 12:59:52

Hibernate映射

2023-06-12 08:09:01

FlaskSQLAlchemy

2009-06-02 14:46:26

Hibernate關系映射教程

2012-02-08 12:17:38

HibernateJava

2009-06-16 14:36:54

Hibernate繼承

2009-09-22 09:55:58

Hibernate實例

2009-07-21 17:39:50

iBATIS的多對多映

2012-05-30 15:03:43

ibmdw

2010-04-15 09:09:02

Hibernate

2012-03-21 11:43:41

JavaHibernate

2009-07-21 17:31:39

iBATIS一對多映射

2012-02-02 16:13:29

HibernateJava

2009-09-24 11:41:46

Hibernate延遲

2009-09-25 14:12:16

Hibernate繼承

2009-09-22 15:10:22

Hibernate映射

2009-09-23 17:34:18

Hibernate映射
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久亚洲7777 | 亚洲一区二区三区观看 | 日本午夜在线视频 | 国产精品久久久久久一区二区三区 | 国产精品 亚洲一区 | 性欧美xxxx | 国产成人精品一区二区三区在线 | www.日韩 | 激情欧美一区二区三区中文字幕 | 在线观看国产视频 | 国产污视频在线 | 青青草精品 | 国产精品精品视频一区二区三区 | 韩日在线视频 | 久久国产精品网站 | 中文字幕在线一区 | av免费在线观看网站 | 日韩欧美三级电影 | 中文字幕国产一区 | 精区3d动漫一品二品精区 | 噜噜噜噜狠狠狠7777视频 | 日韩a在线 | 亚洲五码久久 | 国产福利精品一区 | 日本三级电影免费 | 亚洲va国产日韩欧美精品色婷婷 | 中文字幕在线观看第一页 | 国产99久久久国产精品 | 国产精品成人在线播放 | 亚洲精品美女视频 | 97人澡人人添人人爽欧美 | 亚洲一区二区三区在线视频 | 99精品国产一区二区三区 | 日韩在线观看一区 | 九九精品在线 | 久久久蜜桃一区二区人 | 天堂一区 | 久久草在线视频 | 成年人网站在线观看视频 | 欧一区 | www.99久久.com |