一、關(guān)聯(lián)映射的本質(zhì):
* 將關(guān)聯(lián)關(guān)系映射到數(shù)據(jù)庫,所謂的關(guān)聯(lián)關(guān)系是對象模型在內(nèi)存中的一個(gè)或多個(gè)引用
<many-to-one>會在多的一端加入一個(gè)外鍵,指向一的一端,這個(gè)外鍵是由<many-to-one>
中的column屬性定義的,如果忽略了這個(gè)屬性那么默認(rèn)的外鍵與實(shí)體的屬性一致
<many-to-one>標(biāo)簽的定義示例:
* <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:本博客文章,如果沒有注明是有“轉(zhuǎn)”字樣,屬于本人原創(chuàng)。如果需要轉(zhuǎn)載,務(wù)必注明作者和文章的詳細(xì)出處地址,否則不允許轉(zhuǎn)載,多謝合作!