多对一关联(如用户与组的关系,多个用户可以放在同一个组中)
关联映射的本质:是将关联关系映射到数据库中,关联关系在对象模型中体现为内存中的一个或多个引用
<many-to-one>标签会在“多”的一端添加一个外键,指向“一”的一端,这个外键是由<many-to-one>标签中的column属性定义的,如果忽略column属性,默认创建的外键与属性名相同。可以指定class属性,如果不指定Hibernate会自动找其关联类;但必须拥有 name 属性,用于确定该属性的名字。
User.hbm.xml
<hibernate-mapping>
<class name="com.hibernate.User" table="t_user">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<many-to-one name="group" column="relatedGroup" cascade="all"/>
</class>
</hibernate-mapping>
Group.hbm.xml
<hibernate-mapping>
<class name="com.hibernate.Group" table="t_group">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
</class>
</hibernate-mapping>