本文摘自PHP中文网,作者巴扎黑,侵删。
案例:person:一个人可以有担任很多项工作
job:一项工作可以由很多人担任
这在person和job中就形成了多对多的关系,映射成一张新表。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 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;
}
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 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;
}
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?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>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <? 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 >
|
相关阅读 >>
.net通过字典给类赋值实现代码
c#中自定义控件如何实现textbox禁止粘贴的示例代码
asp .net 面试题及答案分享
c#中五种访问修饰符作用范围实例详解
c#实现添加word文本与图片超链接的方法
详细分析.net?core?以及与?.net?framework的关系(图)
.net core中遇到的一些坑的图文详解
unity c# getsavefilename()的实例详解
hibernate中多对多关系映射
asp.net在网站根目录下创建文件夹
更多相关阅读请进入《hibernate》频道 >>
清华大学出版社
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。
转载请注明出处:木庄网络博客 » hibernate中多对多关系映射