楼主的意思就是一个一对多的自身关联,创建一个树形结构
<set name="organizations" lazy="extra" inverse="true">
     <key> 
        <column name="parent" precision="22" scale="0"/> 
     </key> 
     <one-to-many class="com.kernelchina.hnccb.am.model.bizobject.Organization"/>
</set>
<many-to-one name="organizations" column="parent"/>在新增时如何将上级的ID添加到下极的PAENT中:
        //File为电脑某盘某目录的文件,做一个文件的递归读取
// 递归创建一棵树
private void saveTree(File file, Session session, Organization parent, int level) { if (file == null || !file.exists()) {
return;
} boolean isLeaf = file.isFile();
                
Organization org = new Organization();
org.setName(file.getName());
org.setLevel(level);
org.setParent(parent);
org.setLeaf(isLeaf);
session.save(org); File[] subs = file.listFiles();
if (subs != null && subs.length > 0) {
for (int i = 0; i < subs.length; i++) {
saveTree(subs[i], session, org, level + 1);
}
}
}
例子只是简单说明一下,即采用递归来增加organization,最好在加入一个level等级的属性,便于添加