一、關聯映射的本質:
* 將關聯關系映射到數據庫,所謂的關聯關系是對象模型在內存中的一個或多個引用
<many-to-one>會在多的一端加入一個外鍵,指向一的一端,這個外鍵是由<many-to-one>
中的column屬性定義的,如果忽略了這個屬性那麼默認的外鍵與實體的屬性一致
<many-to-one>標簽的定義示例:
* <many-to-one name="group" column="groupid"/>
1、User的POJO類:
1public class User {
2
3 private int id;
4
5 private String name;
6
7 private Group group;
8//省略setter、getter方法
9}2、Group的POJO類:
1public class Group {
2
3 private int id;
4
5 private String name;
6//省略setter、getter方法
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 "">
5<hibernate-mapping>
6 <class name="com.bjsxt.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:
1<?xml version="1.0"?>
2<!DOCTYPE hibernate-mapping PUBLIC
3 "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
4 "">
5<hibernate-mapping>
6 <class name="com.bjsxt.hibernate.Group" table="t_group">
7 <id name="id">
8 <generator class="native"/>
9 </id>
10 <property name="name"/>
11 </class>
12</hibernate-mapping>