上篇中谈了Hibernate的基本映射,这篇开始谈Hibernate的关系映射。
关系映射主要包括以下几种映射:
我们先从多对一关联映射开始。
多对一关联映射原理:在多的一端加入一个外键,指向一的一端,如下图:
根据对象模型书写映射文件:
在多的一端采用如下标签映射:
<many-to-one name="group" column="groupid"/>
User.hbm.xml
- <?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>
- <class name="com.jialin.hibernate.User" table="t_user">
- <!--column属性表中主键字段的名字;此处省略,则以name属性的中 id 作为t_user字段名-->
- <id name="id">
- <generator class="native"/>
- </id>
- <property name="name"/>
- <many-to-one name="group" column="groupid" />
- </class>
- </hibernate-mapping>
Group.hbm.xml
- <?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>
- <class name="com.jialin.hibernate.Group" table="t_group">
- <!--column属性表中主键字段的名字;此处省略,则以name属性的中 id 作为表t_group的字段名-->
- <id name="id">
- <generator class="native"/>
- </id>
- <property name="name"/>
- </class>
- </hibernate-mapping>