zoukankan      html  css  js  c++  java
  • 用户、角色、权限三者多对多用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《角色用户关系表》)

  • 相关阅读:
    20191208浙江自然博物馆寒武纪迸发专题展
    Spring Crest-英特尔出品的神经网络训练场景加速卡
    20191203动物园玉皇山凤凰山南宋皇城遗址凤凰山玉皇山动物园
    博观而约取-观展攻略
    20191130周六浙江美术馆纤维艺术特展
    git clone下载速度很慢的解决方法
    Jupyter notebook使用技巧积累
    (转)Python--matplotlib绘图可视化知识点整理
    Pygame一些不错教程平时收集....
    pygame.Surface.get_at
  • 原文地址:https://www.cnblogs.com/xiaocao1434/p/5245832.html
Copyright © 2011-2022 走看看