角色实体

package cn.itcast.oa.domain;import java.util.HashSet;
import java.util.Set;/*** 岗位* * @author tyg* */
public class Role {private Long id;private String name;private String description;private Set<User> users = new HashSet<User>();private Set<Privilege> privileges = new HashSet<Privilege>();public Long getId() {return id;}public void setId(Long id) {this.id = id;}public Set<User> getUsers() {return users;}public void setUsers(Set<User> users) {this.users = users;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}public Set<Privilege> getPrivileges() {return privileges;}public void setPrivileges(Set<Privilege> privileges) {this.privileges = privileges;}}

权限实体

package cn.itcast.oa.domain;import java.util.HashSet;
import java.util.Set;/*** 权限* * @author tyg* */
public class Privilege {private Long id;private String url;private String name; // 权限名称private Set<Role> roles = new HashSet<Role>();private Privilege parent; // 上级权限private Set<Privilege> children = new HashSet<Privilege>(); // 下级权限public Privilege() {}public Privilege(String name, String url, Privilege parent) {this.name = name;this.url = url;this.parent = parent;}public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Set<Role> getRoles() {return roles;}public void setRoles(Set<Role> roles) {this.roles = roles;}public Privilege getParent() {return parent;}public void setParent(Privilege parent) {this.parent = parent;}public Set<Privilege> getChildren() {return children;}public void setChildren(Set<Privilege> children) {this.children = children;}}

两者映射

<?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="cn.itcast.oa.domain"><class name="Role" table="itcast_role"><id name="id"><generator class="native"/></id><property name="name" /><property name="description" /><!-- users属性,本类与User的多对多 --><set name="users" table="itcast_user_role"><key column="roleId"></key><many-to-many class="User" column="userId"></many-to-many></set><!-- privileges属性,本类与Privilege的多对多 --><set name="privileges" table="itcast_role_privilege" lazy="false"><key column="roleId"></key><many-to-many class="Privilege" column="privilegeId"></many-to-many></set>    </class></hibernate-mapping>
<?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="cn.itcast.oa.domain"><class name="Privilege" table="itcast_privilege"><id name="id"><generator class="native"/></id><property name="url" /><property name="name" /><!-- roles属性,本类与Role的多对多--><set name="roles" table="itcast_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"><key column="parentId"></key><one-to-many class="Privilege"/></set></class></hibernate-mapping>

Hibernate实体映射总结

<!-- users属性,本类与User的一对多 -->
格式:?属性,本类与?的?
?1    属性名
?2    关联对类型
?3    关系

多对一:
        <many-to-one name="" class="" column=""></many-to-one>
    一对多(Set):
        <set name="">
            <key column=""></key>
            <one-to-many class=""/>
        </set>
    多对多(Set):
        <set name="" table="">
            <key column=""></key>
            <many-to-many class="" column=""></many-to-many>
        </set>

转载于:https://blog.51cto.com/tianxingzhe/1743577

角色和权限Hibernate实体映射配置相关推荐

  1. Hibernate实体映射配置1(java@注解方式)

    实体和数据库之间存在某种映射关系,hibernate根据这种映射关系完成数据的存取.在程序中这种映射关系由映射文件(*.hbm.xml)或者java注解(@)定义. 本文以java注解的形式总结映射关 ...

  2. 【Hibernate】Hibernate实体映射——单边的一对多关系

    数据库中的表是有关系的,两个表之间可以通过外键关联.如果把表抽象为实体类,这些关系可以抽象为实体之间的一对一,一对多,多对一等关系.hibernate能处理这些复杂的关系,前提是要正确配置这些关系. ...

  3. Hibernate 实体映射类的状态值自动转换

    经常会遇到有些字段在数据库只是一个 byte 值,但是取出数据后需要转换为真实的状态名称. 举个栗子:一个图书管理系统,书籍有一个属性 stat(借出状态),在库中只需要保存一个 0/1/2/3/4 ...

  4. 【Hibernate】Hibernate实体关系映射实例解析

    //刘梦冰发表于2015-6-18 1.使用XML配置 Cat.java(实体类) public classCat {private Integerid;private Stringname;priv ...

  5. Hibernate一对一映射示例注释

    Hibernate一对一映射示例注释 今天我们将研究Hibernate中的一对一映射.我们将使用Annotation和XML配置来研究Hibernate One To One Mapping示例. 目 ...

  6. hibernate注释映射_Hibernate一对一映射示例注释

    hibernate注释映射 Today we will look into One to One Mapping in Hibernate. We will look into Hibernate O ...

  7. RBAC:基于角色的权限访问控制

    文章目录 RBAC模型概述 RBAC的组成 RBAC支持的安全原则 RBAC的优缺点 RBAC的3种模型 RBAC模型概述 RBAC模型(Role-Based Access Control:基于角色的 ...

  8. Hibernate映射配置方法

    *************************Hibernate基本映射 hibernate通过映射文件知道如何加载(load)和存储(store)持久化类的对象,映射文件告诉hibernate应 ...

  9. Hibernate 实体关联关系映射----总结

    http://lavasoft.blog.51cto.com/62575/39398 Hibernate 实体关联关系映射----总结 花了三天的业余时间,终于写完了Hibernate关联关系映射的所 ...

最新文章

  1. 【我眼中的戴尔转型】 (二) 厚积薄发,戴尔扩大战线迎头追击IBM HP
  2. 一文带你读懂边缘计算是什么
  3. opencv python3 找图片色块_Python 图像处理 OpenCV (3):图像属性、图像感兴趣 ROI 区域及通道处理...
  4. 各地实时摄像头_智能摄像头——城市治安防控的“天眼”
  5. linux用光盘作yum源实验步骤,Linux使用系统光盘作为YUM源
  6. 引入LeakCanary到项目
  7. 服务器响应401,如果服务器返回401响应,则重定向到登录页面(Redirect to login page if server returns 401 response)...
  8. java并发编程实践学习(二)由可重入锁想到的
  9. 线性代数学习笔记——第三十三讲——向量混合积的几何意义
  10. 百度地图导航Android6.0初始化失败解决方法
  11. java 操作Zip文件(压缩、解压、加密)
  12. linux rewind函数,fseek(),ftell()和rewind()函数的用法详解
  13. redit mysql_这就是Reddit十年来的成就
  14. Ubuntu下 vim安装失败的解决方法 以及安装vim
  15. jieba,为中文分词而生的Python库
  16. mysql数据自增ID为2的解决办法
  17. 驰骋BPM系统-表单引擎-流程引擎2020年大换装
  18. 筑牢企业数字化转型的“底盘”,浪潮云ERP呈现出怎样的全景图?
  19. Problem F: 凹凸四边形
  20. html %3c自动转化,一行代码让谷歌浏览器变成在线编辑器(示例代码)

热门文章

  1. Helper Devise: could not find the `Warden::Proxy` instance on request environment
  2. PHP将Excel另存为html页面
  3. #一周五# VS2015 CTP6, TFS2015 CTP1更新,老衣的开发工具汇总,2015 MVP 社区巡讲...
  4. Oracle优化查询技巧
  5. 诗与远方:无题(二十一)
  6. 诗与远方:无题(八)
  7. linux网卡顺序问题,linux网卡绑定及网卡顺序变更测试.docx
  8. Ajax(一)——Ajax基础概念,HTTP头部(重点)
  9. html游戏图标库,又一款开源图标库 CSS.GG,值得一用
  10. python selenium 点击开始按钮,python selenium-点击页面而不使用next按钮