首頁  >  文章  >  後端開發  >  hibernate中多對多關係映射

hibernate中多對多關係映射

巴扎黑
巴扎黑原創
2016-12-20 15:35:091207瀏覽

案例:

person:一個人可以有擔任很多項工作

job:一項工作可以由很多人擔任

這在person和job中就形成了多對多的關係,映射成一張新表。

package com.pk.mapping;
import java.util.HashSet;
import java.util.Set;
public class Job {
private int id;
private String jobname;
private Set people=new HashSet();
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getJobname() {
return jobname;
}
public void setJobname(String jobname) {
this.jobname = jobname;
}
public Set getPeople() {
return people;
}
public void setPeople(Set people) {
this.people = people;
}
}
package com.pk.mapping;
import java.util.HashSet;
import java.util.Set;
public class People {
private int id;
private String name;
private Set jobs=new HashSet();
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Set getJobs() {
return jobs;
}
public void setJobs(Set jobs) {
this.jobs = jobs;
}
}
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.pk.mapping">
<class name="Job" table="t_job">
<id name="id" column="t_job_id">
<generator class="native"></generator>
</id>
<property name="jobname" column="t_job_name"></property>
<set name="people" table="t_job_people" >
<!--外键,必须以本表的id作为参照物-->
<key column="job_id"></key>
<many-to-many class="People" column="people_id" />
</set>
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.pk.mapping">
<class name="People" table="t_people">
<id name="id" column="t_people_id">
<generator class="native"></generator>
</id>
<property name="name" column="t_people_name"></property>
<set name="jobs" table="t_job_people">
<key column="people_id"></key>
<many-to-many class="Job" column="job_id"></many-to-many>
</set>
</class>
</hibernate-mapping>


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn