一、關聯映射的本質:
* 將關聯關系映射到數據庫,所謂的關聯關系是對象模型在內存中的一個或多個引用
<many-to-one>會在多的一端加入一個外鍵,指向一的一端,這個外鍵是由<many-to-one>
中的column屬性定義的,如果忽略了這個屬性那么默認的外鍵與實體的屬性一致
<many-to-one>標簽的定義示例:
* <many-to-one name="group" column="groupid"/>
1、User的POJO類:
1
public class User {
2
3
private int id;
4
5
private String name;
6
7
private Group group;
8
//省略setter、getter方法
9
}
2、Group的POJO類:
2

3

4

5

6

7

8

9

1
public class Group {
2
3
private int id;
4
5
private String name;
6
//省略setter、getter方法
7
}

2

3

4

5

6

7

3、User的映射文件User.hbm.xml:
1
<?xml version="1.0"?>
2
<!DOCTYPE hibernate-mapping PUBLIC
3
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
4
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
5
<hibernate-mapping>
6
<class name="org.apple.hibernate.User" table="t_user">
7
<id name="id">
8
<generator class="native"/>
9
</id>
10
<property name="name"/>
11
<many-to-one name="group" column="groupid"/>
12
</class>
13
</hibernate-mapping>
4、Group的映射文件Group.hbm.xml:
2

3

4

5

6

7

8

9

10

11

12

13

1
<?xml version="1.0"?>
2
<!DOCTYPE hibernate-mapping PUBLIC
3
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
4
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
5
<hibernate-mapping>
6
<class name="org.apple.hibernate.Group" table="t_group">
7
<id name="id">
8
<generator class="native"/>
9
</id>
10
<property name="name"/>
11
</class>
12
</hibernate-mapping>

2

3

4

5

6

7

8

9

10

11

12

-------------------------------------------------------------------------------------------------
PS:本博客文章,如果沒有注明是有“轉”字樣,屬于本人原創。如果需要轉載,務必注明作者和文章的詳細出處地址,否則不允許轉載,多謝合作!