权限表设计之代码解析
来源:互联网 发布:sshd linux 编辑:程序博客网 时间:2024/04/28 18:41
在权限表设计中已经说了权限表的结构,在这里我说下代码
user表
</pre><pre name="code" class="html">@Entity@Table(name="user")public class User implements Serializable{ private static final long serialVersionUID = 6177417450707400228L;@Id@GeneratedValue(strategy = GenerationType.AUTO) @Column(name="userid",nullable=false)private int userId; @Column(name="username")private String userName;@Column(name="userpassword") private String userPassword; /* * cascade:为级联操作,里面有级联保存,级联删除等,all为所有 * fetch:加载类型,有lazy和eager二种, * eager为急加载,意为立即加载,在类加载时就加载,lazy为慢加载,第一次调用的时候再加载,由于数据量太大,onetomany一般为lazy * mappedBy:这个为manytoone中的对象名,这个不要变哦 * * <UserRole>:为要获得的mappedBy的类 */ @OneToMany(fetch=FetchType.LAZY,mappedBy="user",cascade=CascadeType.ALL)private List<UserRole> listUserRole; public int getUserId() {return userId;}public void setUserId(int userId) {this.userId = userId;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getUserPassword() {return userPassword;}public void setUserPassword(String userPassword) {this.userPassword = userPassword;}public List<UserRole> getListUserRole() {return listUserRole;}public void setListUserRole(List<UserRole> listUserRole) {this.listUserRole = listUserRole;}}
userrole表
@Entity@Table(name="userrole")public class UserRole implements Serializable{ private static final long serialVersionUID = 6177417450707400228L;@Id@GeneratedValue(strategy = GenerationType.AUTO) @Column(name="id",nullable=false)private int id;@ManyToOne(fetch=FetchType.EAGER,cascade=CascadeType.ALL)@JoinColumn(name="userid")private User user; @ManyToOne(fetch=FetchType.EAGER,cascade=CascadeType.ALL)@JoinColumn(name="roleid")private Role role;public int getId() {return id;}public void setId(int id) {this.id = id;}public User getUser() {return user;}public void setUser(User user) {this.user = user;}public Role getRole() {return role;}public void setRole(Role role) {this.role = role;}}role表
@Entity@Table(name="role")public class Role implements Serializable{private static final long serialVersionUID = 6177417450707400228L; @Id@GeneratedValue(strategy = GenerationType.AUTO) @Column(name="roleid",nullable=false)private int roleId;@Column(name="rolename") private String roleName;@OneToMany(fetch=FetchType.LAZY,mappedBy="role",cascade=CascadeType.ALL)private List<UserRole> listUserRole;@OneToMany(fetch=FetchType.LAZY,mappedBy="role",cascade=CascadeType.ALL)private List<RolePermission> listRolePermission;public int getRoleId() {return roleId;}public void setRoleId(int roleId) {this.roleId = roleId;}public String getRoleName() {return roleName;}public void setRoleName(String roleName) {this.roleName = roleName;}public List<UserRole> getListUserRole() {return listUserRole;}public void setListUserRole(List<UserRole> listUserRole) {this.listUserRole = listUserRole;}public List<RolePermission> getListRolePermission() {return listRolePermission;}public void setListRolePermission(List<RolePermission> listRolePermission) {this.listRolePermission = listRolePermission;}}
rolepermission表
@Entity@Table(name="rolepermission")public class RolePermission implements Serializable{ private static final long serialVersionUID = 6177417450707400228L;@Id@GeneratedValue(strategy = GenerationType.AUTO) @Column(name="id",nullable=false)private int id;@ManyToOne(fetch=FetchType.EAGER,cascade=CascadeType.ALL)@JoinColumn(name="roleid")private Role role;@ManyToOne(fetch=FetchType.EAGER,cascade=CascadeType.ALL)@JoinColumn(name="permissionid")private Permission permission;public int getId() {return id;}public void setId(int id) {this.id = id;}public Role getRole() {return role;}public void setRole(Role role) {this.role = role;}public Permission getPermission() {return permission;}public void setPermission(Permission permission) {this.permission = permission;}}
permission表
@Entity@Table(name="permission")public class Permission implements Serializable{ private static final long serialVersionUID = 6177417450707400228L; @Id@GeneratedValue(strategy = GenerationType.AUTO) @Column(name="permissionid",nullable=false)private int permissionId; @Column(name="permission")private String permission; @OneToMany(fetch=FetchType.LAZY,mappedBy="permission",cascade=CascadeType.ALL)private List<RolePermission> listRolePermission; public int getPermissionId() {return permissionId;}public void setPermissionId(int permissionId) {this.permissionId = permissionId;}public String getPermission() {return permission;}public void setPermission(String permission) {this.permission = permission;}public List<RolePermission> getListRolePermission() {return listRolePermission;}public void setListRolePermission(List<RolePermission> listRolePermission) {this.listRolePermission = listRolePermission;}}
我这里是按照我的权限表博客里设计的,另外使用的onetomany和manytoone,在这里也可以用manytomany,
根据大家的喜好来写吧。
0 0
- 权限表设计之代码解析
- C#权限设计代码
- RBAC权限设计解析及表的设计
- SQLServer2005SQLCLR代码之权限
- springrain -权限表结构 分析设计 Jfinal 代码生成器
- 通用权限管理设计 之 数据权限
- 通用权限管理设计 之 数据权限
- 通用权限管理设计 之 数据权限
- 通用权限管理设计 之 数据权限
- 通用权限管理设计 之 数据权限
- 通用权限管理设计 之 数据权限
- 通用权限管理设计 之 数据权限
- 通用权限管理设计 之 数据权限
- 通用权限管理设计 之 数据权限
- 权限管理之基础设计
- 浅谈OFBiz之权限设计
- 浅谈OFBiz之权限设计
- 浅谈OFBiz之权限设计
- 快速排序算法分析
- 求一元二次方程的根
- 面向对象的三个基本特征(简)
- SecureCRT 基本使用
- 美团面试题:寻找数组置尾操作的最小值
- 权限表设计之代码解析
- Pascal's Triangle - LeetCode
- 多进程访问文件的同步
- 《PHP从入门到精通》之基础学习篇,php中=>的用法,是干什么的?
- 关于<A href="网址"> </A>和<A href="网址" target=_blank> </A>
- Java的基本数据类型
- 为什么程序在getchar的时候不停顿??
- 启动tomcat报错java.net.bindexception: address already in use: jvm_bind
- Crypto API 学习笔记一