public void setParentCategory(Category parentCategory) {
this.parentCategory = parentCategory;
}
public Set getChildCategories() {
return this.childCategories;
}
public void setChildCategories(Set childCategories) {
this.childCategories = childCategories;
}
//为了节省空间省略了id,name属性的访问方法
}
<hibernate-mapping >
<class name=\"mypack.Category\" table=\"CATEGORIES\" >
<id name=\"id\" type=\"long\" column=\"ID\">
<generator class=\"increment\"/>
</id>
<property name=\"name\" type=\"string\" >
<column name=\"NAME\" length=\"15\" />
</property>
<set
name=\"childCategories\"
cascade=\"save-update\"
inverse=\"true\"
>
<key column=\"CATEGORY_ID\" />
<one-to-many class=\"mypack.Category\" />
</set>
<many-to-one
name=\"parentCategory\"
column=\"CATEGORY_ID\"
class=\"mypack.Category\"
/>
</class>
</hibernate-mapping>
我觉得这种方式其实和上边的一对多,一对一关系一样,只不过两个用的都是同一个类罢了.看一下例子理解上应该很简单。

