基於Struts+Hibernate的Web項目權限設計(2)

設計好數據的表結構後,使用Middlegen-Hibernate工具很方便的生成hibernate的映射文件(Middlegen-Hibernate工具的使用方法不在這裏介紹,可以到網上找找,很多的):

Middlegen-Hibernate啓動後的界面如下:

 

 

 

 

 

 

生成後的映射文件具體內容如下

 

 

 

Labpermission.hbm.xml

 

 

 

<?xml version="1.0"?>

 

 

 

<!DOCTYPE hibernate-mapping PUBLIC

 

 

 

    "-//Hibernate/Hibernate Mapping DTD 2.0//EN"

 

 

 

    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

 

 

 

   

 

 

 

<hibernate-mapping>

 

 

 

<!--

 

 

 

    Created by the Middlegen Hibernate plugin

 

 

 

 

 

 

    http://boss.bekk.no/boss/middlegen/

 

 

 

    http://hibernate.sourceforge.net/

 

 

 

-->

 

 

 

 

 

 

<class

 

 

 

    name="cn.**.common.entity.LabPermission"

 

 

 

    table="LAB_PERMISSION"

 

 

 

>

 

 

 

 

 

 

    <id

 

 

 

        name="permissionId"

 

 

 

        type="java.lang.String"

 

 

 

        column="PERMISSION_ID"

 

 

 

    >

 

 

 

        <generator class="assigned" />

 

 

 

    </id>

 

 

 

 

 

 

    <property

 

 

 

        name="permissionName"

 

 

 

        type="java.lang.String"

 

 

 

        column="PERMISSION_NAME"

 

 

 

        not-null="true"

 

 

 

        length="100"

 

 

 

    />

 

 

 

    <property

 

 

 

        name="permissionDesc"

 

 

 

        type="java.lang.String"

 

 

 

        column="PERMISSION_DESC"

 

 

 

        length="200"

 

 

 

    />

 

 

 

 

 

 

    <!-- associations -->

 

 

 

    <!-- bi-directional one-to-many association to LabRolepermission -->

 

 

 

    <set

 

 

 

        name="labRolepermissions"

 

 

 

        lazy="true"

 

 

 

        inverse="true"

 

 

 

    >

 

 

 

        <key>

 

 

 

            <column name="PERMISSION_ID" />

 

 

 

        </key>

 

 

 

        <one-to-many

 

 

 

            class="cn.**.common.entity.LabRolepermission"

 

 

 

        />

 

 

 

    </set>

 

 

 

 

 

 

</class>

 

 

 

</hibernate-mapping>

 

 

 

 

 

 

 

 

 

labRole.hbm.xml

<?xml version="1.0"?>

 

 

 

<!DOCTYPE hibernate-mapping PUBLIC

 

 

 

    "-//Hibernate/Hibernate Mapping DTD 2.0//EN"

 

 

 

    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

 

 

 

   

 

 

 

<hibernate-mapping>

 

 

 

<!--

 

 

 

    Created by the Middlegen Hibernate plugin

 

 

 

 

 

 

    http://boss.bekk.no/boss/middlegen/

 

 

 

    http://hibernate.sourceforge.net/

 

 

 

-->

 

 

 

 

 

 

<class

 

 

 

    name="cn.**.common.entity.LabRole"

 

 

 

    table="LAB_ROLE"

 

 

 

>

 

 

 

 

 

 

    <id

 

 

 

        name="roleId"

 

 

 

        type="int"

 

 

 

        column="ROLE_ID"

 

 

 

    >

 

 

 

        <generator class="sequence">

 

 

 

            <param name="sequence">LAB_ROLE_S</param>

 

 

 

        </generator>

 

 

 

    </id>

 

 

 

 

 

 

    <property

 

 

 

        name="roleName"

 

 

 

        type="java.lang.String"

 

 

 

        column="ROLE_NAME"

 

 

 

        length="20"

 

 

 

        not-null="true"

 

 

 

    />

 

 

 

    <property

 

 

 

        name="roleDesc"

 

 

 

        type="java.lang.String"

 

 

 

        column="ROLE_DESC"

 

 

 

        length="100"

 

 

 

    />

 

 

 

 

 

 

    <!-- associations -->

 

 

 

    <!-- bi-directional one-to-many association to LabRolepermission -->

 

 

 

    <set

 

 

 

        name="labRolepermissions"

 

 

 

        lazy="true"

 

 

 

        inverse="true"

 

 

 

    >

 

 

 

        <key>

 

 

 

            <column name="ROLE_ID" />

 

 

 

        </key>

 

 

 

        <one-to-many

 

 

 

            class="cn.**.common.entity.LabRolepermission"

 

 

 

        />

 

 

 

    </set>

 

 

 

    <!-- bi-directional one-to-many association to LabGrouprole -->

 

 

 

    <set

 

 

 

        name="labGrouproles"

 

 

 

        lazy="true"

 

 

 

        inverse="true"

 

 

 

    >

 

 

 

        <key>

 

 

 

            <column name="ROLE_ID" />

 

 

 

        </key>

 

 

 

        <one-to-many

 

 

 

            class="cn.**.common.entity.LabGrouprole"

 

 

 

        />

 

 

 

    </set>

 

 

 

 

 

 

</class>

 

 

 

</hibernate-mapping>

 

 

 

 

 

 

 

 

 

LabRolepermission.hbm.xml

 

 

 

 

 

 

<?xml version="1.0"?>

 

 

 

<!DOCTYPE hibernate-mapping PUBLIC

 

 

 

    "-//Hibernate/Hibernate Mapping DTD 2.0//EN"

 

 

 

    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

 

 

 

   

 

 

 

<hibernate-mapping>

 

 

 

<!--

 

 

 

    Created by the Middlegen Hibernate plugin

 

 

 

 

 

 

    http://boss.bekk.no/boss/middlegen/

 

 

 

    http://hibernate.sourceforge.net/

 

 

 

-->

 

 

 

 

 

 

<class

 

 

 

    name="cn.**.common.entity.LabRolepermission"

 

 

 

    table="LAB_ROLEPERMISSION"

 

 

 

>

 

 

 

 

 

 

    <composite-id name="comp_id" class="cn.**.common.entity.LabRolepermissionPK">

 

 

 

        <!-- bi-directional many-to-one association to LabRole -->

 

 

 

        <key-many-to-one

 

 

 

        name="labRole"

 

 

 

            class="cn.**.common.entity.LabRole"

 

 

 

        >

 

 

 

        <column name="ROLE_ID" />

 

 

 

        </key-many-to-one>

 

 

 

        <!-- bi-directional many-to-one association to LabPermission -->

 

 

 

        <key-many-to-one

 

 

 

        name="labPermission"

 

 

 

            class="cn.**.common.entity.LabPermission"

 

 

 

        >

 

 

 

        <column name="PERMISSION_ID" />

 

 

 

        </key-many-to-one>

 

 

 

    </composite-id>   

 

 

 

 

 

 

 

 

 

    <!-- associations -->

 

 

 

 

 

 

</class>

 

 

 

</hibernate-mapping>

 

 

 

 

 

 

LabGroup.hbm.xml

 

 

 

<?xml version="1.0"?>

 

 

 

<!DOCTYPE hibernate-mapping PUBLIC

 

 

 

    "-//Hibernate/Hibernate Mapping DTD 2.0//EN"

 

 

 

    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

 

 

 

<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: le
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章