public class SysModule {
/**
* 主鍵
*/
private int id;
/**
* 唯一标示
*/
private String sn;
/**
* 子產品名稱
*/
private String sysModuleName;
/**
* 子產品位址
*/
private String sysUrl;
/**
* 同一層次上各個子產品之間的排序
*/
private int orderId;
/**
* 是否葉子節點
*/
private int isLeaf;
/**
* 所在層
*/
private String sysLevel;
/**
* 備注
*/
private String remark;
/**
* 孩子子產品
*/
private Set<SysModule> childModules;
/**
* 上級子產品
*/
private SysModule parentModule;
//.... setter getter
}
public class OrgDep extends SysModule {
// 無屬性
}
public class OrgPost extends SysModule {
// 無屬性
}
<hibernate-mapping package="cn.xyurp.system.bean">
<class name="cn.xyurp.system.bean.SysModule"
table="t_sysmodule">
<id name="id">
<generator class="native" />
</id>
<property name="sysModuleName" length="50" not-null="true" />
<property name="sysUrl" length="50" />
<property name="orderId" not-null="true"/>
<property name="sn" length="20" not-null="true"/>
<property name="isLeaf" not-null="true"/>
<property name="sysLevel" not-null="true"/>
<property name="remark" length="3000" />
<many-to-one column="pid" name="parentModule" />
<set name="childModules" lazy="extra" inverse="true"
order-by="orderId">
<key column="pid" />
<one-to-many class="cn.xyurp.system.bean.SysModule" />
</set>
</class>
</hibernate-mapping>
<hibernate-mapping package="cn.xyurp.rsgl.bean">
<class name="OrgDep" table="t_rsgl_Org_dep">
<!-- 組織機構管理:部門管理 -->
<id name="id">
<generator class="native" />
</id>
<!-- 部門編碼 -->
<property name="sn" column="orgId" type="string" length="50" not-null="true"></property>
<!-- 部門名稱 -->
<property name="sysModuleName" column="depName" length="50" not-null="true" />
<!-- 顯示順序 -->
<property name="orderId" not-null="true"/>
<many-to-one column="pid" name="parentModule" />
<set name="childModules" lazy="extra" inverse="true" order-by="orderId">
<key column="pid" />
<one-to-many class="OrgDep" />
</set>
<!-- 描述 -->
<property name="remark" type="string" length="3000"></property>
</class>
</hibernate-mapping>
<hibernate-mapping package="cn.xyurp.rsgl.bean">
<class name="OrgPost" table="t_rsgl_Org_post">
<!-- 組織機構管理:崗位管理管理 -->
<id name="id">
<generator class="native" />
</id>
<!-- 部門編碼 -->
<property name="sn" column="postId" type="string" length="50" not-null="true"></property>
<!-- 部門名稱 -->
<property name="sysModuleName" column="postName" length="50" not-null="true" />
<!-- 顯示順序 -->
<property name="orderId" not-null="true"/>
<many-to-one column="pid" name="parentModule" />
<set name="childModules" lazy="extra" inverse="true"
order-by="orderId">
<key column="pid" />
<one-to-many class="OrgPost" />
</set>
<!-- 描述 -->
<property name="remark" type="string" length="3000"></property>
</class>
</hibernate-mapping>
select count(*) from SysModule ...
會生成 三條 sql
select count(*) from t_sysModule
select count(*) from t_rsgl_org_dep
select count(*) from t_rsgl_org_post