用户、角色、权限三者多对多用hibernate的一对多注解配置

//权限表
@Table(name = "p")
public class P {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "p_id", unique = true, nullable = false)
private Integer id;
@OneToMany(mappedBy = "p",cascade=CascadeType.ALL)
private Set<PR> pr = new HashSet<PR>();
/*省略所有get、set方法及其他列*/
}
//权限角色表
@Entity
@Table(name = "pr")
public class PR {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "pr_id", unique = true, nullable = false)
private Integer id;
@ManyToOne
@JoinColumn(name = "r_id")
private R r;
@ManyToOne
@JoinColumn(name = "p_id")
private P p;
/*省略所有get、set方法及其他列*/
}
//角色表
@Entity
@Table(name = "r")
public class R {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "r_id", unique = true, nullable = false)
private Integer id;
@OneToMany(mappedBy = "r",cascade=CascadeType.ALL)
private Set<PR> pr = new HashSet<PR>();
@OneToMany(mappedBy = "r",cascade=CascadeType.ALL)
private Set<RU> ru = new HashSet<RU>();
/*省略所有get、set方法及其他列*/
}
//角色用户关系表
@Entity
@Table(name = "ru")
public class RU {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ru_id", unique = true, nullable = false)
private Integer id;
@ManyToOne
@JoinColumn(name = "r_id")
private R r;
@ManyToOne
@JoinColumn(name = "u_id")
private U u;
/*省略所有get、set方法及其他列*/
}
//用户表
@Entity
@Table(name = "u")
public class U {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "u_id", unique = true, nullable = false)
private Integer id;
@OneToMany(mappedBy = "u",cascade=CascadeType.ALL)
private Set<RU> ru = new HashSet<RU>();
/*省略所有get、set方法及其他列*/
}

数据库图片示例:

结果如上。(P《权限表》、R《角色表》、U《用户表》、PR《权限角色关系表》、RU《角色用户关系表》)

用户、角色、权限三者多对多用hibernate的一对多注解配置的更多相关文章

  1. t3用户-角色-权限hibernate经典配置

    用户-角色-权限hibernate经典配置. 既然有人问起,我就写下说明吧.在文章中间的配置文件那里.权当回忆一下,也帮助更多人.这是以前学校时写的,没有注释.都是贴的代码笔记.看到的莫要见怪.欢迎学 ...

  2. [转]扩展RBAC用户角色权限设计方案

    原文地址:http://www.iteye.com/topic/930648 RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地 ...

  3. 扩展RBAC用户角色权限设计方案

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...

  4. RBAC用户角色权限设计方案

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用 户-角色 ...

  5. 扩展RBAC用户角色权限设计方案(转载)

    扩展RBAC用户角色权限设计方案  来源:https://www.cnblogs.com/zwq194/archive/2011/03/07/1974821.html https://blog.csd ...

  6. RBAC用户角色权限设计方案【转载】

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...

  7. 扩展RBAC用户角色权限设计方案<转>

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...

  8. 【shiro】2.spring整合shiro,注解控制shiro用户/角色/权限And/OR,没有权限跳转到固定页面

    这几天粗浅的把shiro整合到spring中,并且注解控制shiro用户/角色/权限And/OR 步骤: 1.首先maven搭建web项目 2.创建数据库 user/role/authority 其中 ...

  9. java权限管理与用户角色权限设计

    java权限管理与用户角色权限设计 实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器 ...

随机推荐

  1. CentOS7 安装MongoDB 3.0服务器

    1,下载&安装 MongoDB 3.0 正式版本发布!这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大.灵活而且易于管理的数据库管理系统.MongoDB宣称,3.0新版本不只 ...

  2. The ProgID of the WorkspaceName's workspace factory

    The ProgID of the WorkspaceName's workspace factory [C#]public stringWorkspaceFactoryProgID {get; se ...

  3. List接口、Set接口、Map接口的方法

    一.Collection接口中的方法介绍 int size();返回此Collection中的元素数 boolean isEmpty(); 判断是否为空 boolean containsAll(Col ...

  4. Missing artifact com.oracle:ojdbc14:jar:10.2.0.4.0

    下载jar,导入到maven中cmd中输入:mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=1 ...

  5. b/s 猫大叔

       好复杂,要把客户端文件传到服务端,再从服务端传到FTP......肿么设计的这是....       至少你都要把客户端的文件读到服务端的内存中,因为B/S控制器在S端,不在B端 非要用B/S实 ...

  6. python中引用

    python中的可变类型与不可变类型: 在讲python深浅拷贝之前,我们首先应该明白python中元素的类型:主要分为可变类型和不可变类型. 可变类型,就是值可以改变的类型有两个: 列表:list ...

  7. Maven的配置

  8. IOS常用框架

    IOS开发中有用的第三方库 #Objective-C中最受瞩目库 [链接](https://github.com/languages​​/Objective-C/most_watched) * [th ...

  9. 前端工程师IE6兼容性问题随笔(未完待续)

    1 height.在IE6下元素高度小于19px的时候,会被当做19px来处理.解决办法:用overflow:hidden;来处理.box{height:2px;background:red;over ...

  10. href链接的地址

    tencent://message/?uin=QQ号. 链接一个弹出框.指向一个QQ号.