hibernate中多对多关系映射


本文摘自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 mvc中如何使用forms验证的具体介绍

c#实现添加word文本与图片超链接的方法

c#中多线程之thread类详解

.net core2.0小技巧之memorycache问题修复解决的方法(图)

c#中匿名委托以及lambda表达式的实例详解

解析.net逻辑分层架构

c#中sql参数传入空值出错误和如何解决办法

使用c#操作windowad之添加对象到用户组

.net下如何使用quartz.net的代码图文教程

c#如何使用libusbdotnet实现usb通信的示例详解

更多相关阅读请进入《hibernate》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...