一对多配置

【1】班级和学生模型

      --->班级可容纳多个学生

      --->学生只能属于一个班级

【2】一对多配置中的关系维护(inverse)

      --->一端放弃关系的维护

      --->多端进行关系维护。

  inverse默认值false,表示不放弃关系的维护。

  inverse="true"配置在那一端,表示那一端放弃关系的维护(交由hibernate内部进行维护),由另一端进行关系维护。

班级的ClassRoom.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     package="com.bjsxt.shangxiaofei.po"><!-- 实体类包名,如果此处不加package属性,下面所有的class要写全路径:报名+类名 -->
 7 
 8     <class name="ClassRoom" table="t_classroom">
 9         
10         
11         <!-- 主键递增 -->
12         <id name="id" column="id">
13             <generator class="native"></generator>
14         </id>
15         
16         <!-- 班级名字 -->
17         <property name="name" column="name"></property>
18         
19         <!-- 班级的学生,班级对学生  一对多的关系   一端放弃关系的维护,多端进行维护,在set中inverse="true"-->
20         <set name="students" inverse="true">
21             <!-- 将班级的主键id在学生表中生成外键 -->
22             <key column="class_id"></key>
23             <one-to-many class="Student" />
24         </set>
25         
26         
27     </class>
28     
29 </hibernate-mapping>
View Code

相关文章: