用户、角色、权限三者多对多用hibernate的一对多注解配置
用户、角色、权限三者多对多用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的一对多注解配置的更多相关文章
- t3用户-角色-权限hibernate经典配置
用户-角色-权限hibernate经典配置. 既然有人问起,我就写下说明吧.在文章中间的配置文件那里.权当回忆一下,也帮助更多人.这是以前学校时写的,没有注释.都是贴的代码笔记.看到的莫要见怪.欢迎学 ...
- [转]扩展RBAC用户角色权限设计方案
原文地址:http://www.iteye.com/topic/930648 RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地 ...
- 扩展RBAC用户角色权限设计方案
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...
- RBAC用户角色权限设计方案
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用 户-角色 ...
- 扩展RBAC用户角色权限设计方案(转载)
扩展RBAC用户角色权限设计方案 来源:https://www.cnblogs.com/zwq194/archive/2011/03/07/1974821.html https://blog.csd ...
- RBAC用户角色权限设计方案【转载】
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...
- 扩展RBAC用户角色权限设计方案<转>
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...
- 【shiro】2.spring整合shiro,注解控制shiro用户/角色/权限And/OR,没有权限跳转到固定页面
这几天粗浅的把shiro整合到spring中,并且注解控制shiro用户/角色/权限And/OR 步骤: 1.首先maven搭建web项目 2.创建数据库 user/role/authority 其中 ...
- java权限管理与用户角色权限设计
java权限管理与用户角色权限设计 实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器 ...
随机推荐
- Python之路 day2 按行读文件
#1. 最基本的读文件方法: # File: readline-example-1.py file = open("sample.txt") while 1: line = fil ...
- js组合继承和寄生组合式继承比较
本文是原创文章,如需转载,请注明文章出处 1.js中实现组合继承(B继承A): function A(name){ this.name = name; this.ary = ["AA&quo ...
- Oculus安装问题
1.必须FQ,可采用蓝灯,或其他vpn 2.Your computer doesn't meet Rift's recommended specifications 如果某些硬件达不到推荐配置(比如我 ...
- 本地测试Sql
数据库sqlserver2008 编程vs2008,C# 该测试是数据库和程序在一台计算机上,如果不在一台计算机上就不一样了 我的数据库最大链接是127,好像不固定. 一.测试链接对速度的影响 sta ...
- 做为一名PHP程序员,应该关注的互联网IT大牛!
俗话说:“读万卷书不如行万里路,行万里路不如高人指路”,做为一名新人,以后的路还很长,多年你的成就取决于今天的自己付出,选中自己的方向比什么都重要,关注大牛,向他们学习,才不会迷失自己! 1.惠新宸( ...
- 使用Autolayout对多行文本Label进行布局,高度不准确的解决办法!
BUG描述: 今天公司的项目中发现了一个BUG,大概给大家描述一下,tabbleView有一个tableFooterView,这个footView中有一个Label,是多行显示文本,程序用的是Auto ...
- 滑动式折叠菜单 - Slashdot's Menu
折叠菜单让你在尽可能小的地方放置尽可能多的内容,同时加大了操作的简便性,因此,深受前台设计师的喜爱.随着大家对动画效果的钟爱,折叠菜单也开始“动”起来了,本文介绍的就是 DimX 制作的滑动式折叠菜单 ...
- Excel学习技巧
ctrl+R 初始化信息 ctrl+T 创建表列 ctrl+o 保存文件
- winform学习笔记-文档路径
获取应用程序路径 //获取当前进程的完整路径,包含文件名(进程名).string str = this.GetType().Assembly.Location;result: X:\xxx\xxx\x ...
- mysql创建用户及授权相关命令
移步: https://zhidao.baidu.com/question/1576368583039067980.html