权限资源经典配置【用户+角色+权限+部门】
2016-01-10 17:23
267 查看
经典权限配置(一对多、多对一、多对多)配置
部门实体映射配置文件:Department.hbm.xml
用户实体映射配置文件:User.hbm.xml
角色实体映射配置文件:Role.hbm.xml
权限实体映射配置文件:Privilege.hbm.xml
部门实体映射配置文件:Department.hbm.xml
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.ywx.tiles.account.entity"> <class name="Department" table="xt_department"> <id name="id"> <generator class="native" /> </id> <property name="name" /> <property name="description" /> <!-- users属性,本类与User的一对多 --> <set name="users"> <key column="departmentId"></key> <one-to-many class="User" /> </set> <!-- parent属性,本类与Department(上级)的多对一 --> <many-to-one name="parent" class="Department" column="parentId"></many-to-one> <!-- children属性,本类与Department(下级)的一对多 order-by属性:指定的是sql的orderby子句内容 --> <set name="children" cascade="delete" order-by="id ASC"> <key column="parentId"></key> <one-to-many class="Department" /> </set> </class> </hibernate-mapping>
用户实体映射配置文件:User.hbm.xml
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.ywx.tiles.account.entity"> <class name="User" table="xt_user"> <id name="id"> <generator class="native"/> </id> <property name="loginName" /> <property name="password" /> <property name="name" /> <property name="gender" /> <property name="phoneNumber" /> <property name="email" /> <property name="description" /> <!-- department属性,本类与Department的多对一 --> <many-to-one name="department" class="Department" column="departmentId"></many-to-one> <!-- roles属性,本类与Role的多对多 --> <set name="roles" table="xt_user_role" lazy="false"> <key column="userId"></key> <many-to-many class="Role" column="roleId"></many-to-many> </set> </class> </hibernate-mapping>
角色实体映射配置文件:Role.hbm.xml
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.ywx.tiles.account.entity"> <class name="Role" table="xt_role"> <id name="id"> <generator class="native"/> </id> <property name="name" /> <property name="description" /> <!-- users属性,本类与User的多对多 --> <set name="users" table="xt_user_role"> <key column="roleId"></key> <many-to-many class="User" column="userId"></many-to-many> </set> <!-- privileges属性,本类与Privilege的多对多 --> <set name="privileges" table="xt_role_privilege" lazy="false"> <key column="roleId"></key> <many-to-many class="Privilege" column="privilegeId"></many-to-many> </set> </class> </hibernate-mapping>
权限实体映射配置文件:Privilege.hbm.xml
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.ywx.tiles.account.entity"> <class name="Privilege" table="xt_privilege"> <id name="id"> <generator class="native"/> </id> <property name="name" /> <property name="url" /> <!-- roles属性,本类与Role的多对多 --> <set name="roles" table="xt_role_privilege"> <key column="privilegeId"></key> <many-to-many class="Role" column="roleId"></many-to-many> </set> <!-- parent属性,本类与Privilege(上级)的多对一--> <many-to-one name="parent" class="Privilege" column="parentId"></many-to-one> <!-- children属性,本类与Privilege(下级)的一对多 --> <set name="children" lazy="false" order-by="id ASC"> <key column="parentId"></key> <one-to-many class="Privilege"/> </set> </class> </hibernate-mapping>
相关文章推荐
- iOS 开发百问(6)
- 计算机学习之路
- 百度编辑器Ueditor的简单调用
- ADB server didn't ACK问题,连上手机问题(转)
- Knights of the Round Table-POJ2942(双连通分量+交叉染色)
- 【慕课笔记】第三章 常用的运算符 第3节 JAVA中的赋值运算符
- Knights of the Round Table-POJ2942(双连通分量+交叉染色)
- 由《英雄联盟》引发的思考
- Floyd算法正确性
- traceroute和tracert的原理
- vs2013 配置是的问题 windows7
- Stack 栈 ----Queue 队列
- 【WEB前端】3.(扩展)内联块
- Javaweb学习总结(二):JSP的指令元素
- 《解释的工具:生活中的经济学原理》读书笔记5
- 马哥linux学习笔记:DNS相关配置
- eclipse创建配置struts项目时遇到的ClassNotFoundException问题解决方案
- [Leetcode]-Majority Element
- UVA - 11021 - Tribles 递推概率
- linux中的sleep与alarm