(1)Hibernate中,inverse="true"在多的一端进行维护,那么在单的一端在进行setChild()不会被保存。
(2)不设置inverse="true"在更新parent的时候相应的children就不会被更新,相应的关联也会丢失,最好设置inverse="true"在多的一端进行维护关联。
例子:下面是机构的Hibernate的映射文件
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class table="T_Organization" name="com.xx.xx.Organization">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<property name="sn"/>
<property name="description"/>
<many-to-one column="pid" name="parent"/>
<set lazy="false" inverse="true" name="children">
<key column="pid"/>
<one-to-many class="com.xx.xx.Organization"/>
</set>
</class>
</hibernate-mapping>