在学习hibernate的映射关系中学习到了one2many 记录自己学习的总结:
persion和people两个实体的映射
//oneTomany:在one的一方用集合装many的一方
//在配置onetomany时,在many的一方,配置一般常量一样;
//在one的一方,需要用一个set把集合的对象装到里面,然后配置<key>;在key中配置一个外键,然后配置onetomany
//一个人对应人类
public class Persion {
private Long id;
private String name;
private Set<People> es=new HashSet<People>();
//省略set/get
}
public class People {
private Long id;
private String name;
//省略set/get
}
配置many的映射文件:
<hibernate-mapping package="com.xier.one2many">
<class name="People">
<id name="id" column="id">
<generator class="native"/>
</id>
<property name="name"/>
</class>
</hibernate-mapping>
配置one的映射文件:
<hibernate-mapping package="com.xier.one2many">
<class name="Persion">
<id name="id" column="id">
<generator class="native"/>
</id>
<set name="es">
<key column="DEPT_ID"/>
<one-to-many class="People"/>
</set>
<property name="name"/>
</class>
</hibernate-mapping>
由此总结:反观one2many和many2one在实体中存在着一些差异,而在配置中的差异却很显然。
表结构如下:
people结构如下: