遞歸

	public  static List<CmsDepartment> getListForSelect(List<CmsDepartment> topList) {
		List<CmsDepartment> list = new ArrayList<CmsDepartment>();
		for (CmsDepartment c : topList) {
			addChildToList(list, c);
		}
		return list;
	}
	
	/**
	 * 遞歸將子部門加入列表
	 * 
	 * @param list
	 *            部門容器
	 * @param depart
	 *            待添加的部門,且遞歸添加子部門
	 */
	private static void addChildToList(List<CmsDepartment> list, CmsDepartment depart) {
		list.add(depart);
		Set<CmsDepartment> child = depart.getChild();
		for (CmsDepartment c : child) {
			addChildToList(list, c);
		}
	}

//獲取getChild數據庫配置
<many-to-one name="parent" column="parent_id" class="CmsDepartment" not-null="false"></many-to-one>
		<set name="child" inverse="true" cascade="delete">
			<cache usage="read-write"/>
			<key column="parent_id"/>
			<one-to-many class="CmsDepartment"/>
</set>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章