SpringJpa多对多映射关系

news/2024/7/1 2:53:08

1.菜单表

@Entity
@Table(name="t_menus")
public class Menus {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="menusid")
    private Integer menusid;
    
    @Column(name="menusname")
    private String menusname;
    
    @Column(name="menusurl")
    private String menusurl;
    
    @Column(name="fatherid")
    private Integer fatherid;
    
    @ManyToMany(mappedBy="menus")
    private Set<Roles> roles = new HashSet<>();

2.角色表

@Entity
@Table(name="t_roles")
public class Roles {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="roleid")
    private Integer roleid;
    
    @Column(name="rolename")
    private String rolename;
    
    @OneToMany(mappedBy="roles")
    private Set<Users> users = new HashSet<>();

    @ManyToMany(cascade=CascadeType.PERSIST,fetch=FetchType.EAGER)
    //@JoinTable:映射中间表
    //joinColumns:当前表中的主键所关联的中间表中的外键字段
    @JoinTable(name="t_roles_menus",joinColumns=@JoinColumn(name="role_id"),inverseJoinColumns=@JoinColumn(name="menu_id"))
    private Set<Menus> menus = new HashSet<>();

 

3.用户表

@Entity
@Table(name="t_users")
public class Users {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="id")
    private Integer id;
    
    @Column(name="name")
    private String name;
    
    @Column(name="age")
    private Integer age;
    
    @Column(name="address")
    private String address;
    
    @ManyToOne(cascade=CascadeType.PERSIST)
    //@JoinColumn:维护外键
    @JoinColumn(name="roles_id")
    private Roles roles;

 


http://lihuaxi.xjx100.cn/news/244593.html

相关文章

解析大型.NET ERP系统 设计异常处理模块

异常处理模块是大型系统必备的一个组件&#xff0c;精心设计的异常处理模块可提高系统的健壮性。下面从我理解的角度&#xff0c;谈谈异常处理的方方面面。我的设计仅仅限定于Windows Forms&#xff0c;供参考。 1 定义异常类型 .NET 框架定义很多异常类型&#xff0c;ERP系统中…

在IIS中为SQL Server 2008配置报表服务

不知道是不是SQL Server 2008的Bug&#xff0c;我在安装了SQL2008后&#xff08;选择了安装报表服务的&#xff09;&#xff0c;但是在IIS中根本没有报表服务的虚拟目录。只是这么一个问题&#xff0c;其他BI设计器、报表服务等都还算正常。 要正常使用报表服务则需要手动添加报…

PHP面试常考内容之Memcache和Redis(2)

你好&#xff0c;是我琉忆。继周一&#xff08;2019.2-18&#xff09;发布的“PHP面试常考内容之Memcache和Redis&#xff08;1&#xff09;”后&#xff0c;这是第二篇&#xff0c;感谢你的支持和阅读。本周&#xff08;2019.2-18至2-22&#xff09;的文章内容点为以下几点&am…

(原创)Python文件与文件系统系列(5)——stat模块

stat模块中定义了许多的常量和函数&#xff0c;可以帮助解释 os.stat()、os.fstat()、os.lstat()等函数返回的 st_result 类型的对象。 通常使用 os.path.is*() 这类函数来测试一个文件的类型&#xff0c;这些方法对同一个文件进行多次测试时&#xff0c;stat()系统调用都是不可…

maven项目中,如何导出项目所有的jar

1.找到pom.xml&#xff0c;右键 选择Run As >> Maven build… 在上图的Goals框中输入“dependency:copy-dependencies”&#xff0c;后点击“Run”即可。 当控制台出现“BUILD SUCCESS”时&#xff0c;表示build成功。 在当前项目的根目录“targed/dependency”下可查…

转 The connection to adb is down, and a severe error

相信不少同学和我一样遇到这个问题&#xff0c;有时候搞的还要重启电脑&#xff0c;那究竟是什么原因导致的呢&#xff0c;很明显&#xff0c;你的端口被占用了&#xff0c;那下面给出终极解决方案&#xff1a; 一、首先描述症状&#xff0c;如下图 二、出现问题了&#xff0c;…

想要确保架构目标达成?适合度函数了解一下

Paula Paul和Rosemary Wang撰写的一篇博文中介绍了适应度函数&#xff08;fitness function&#xff09;的基本概念、入门方法&#xff0c;并给出了如何验证各种架构质量的一些实例。文中提出&#xff0c;适应度函数驱动开发的方法可用于编写测定系统符合架构目标的测试&#x…

浅谈HTTP中Get与Post的区别

Http定义了与服务器交互的不同方法&#xff0c;最基本的方法有4种&#xff0c;分别是GET&#xff0c;POST&#xff0c;PUT&#xff0c;DELETE。URL全称是资源描述符&#xff0c;我们可以这样认为&#xff1a;一个URL地址&#xff0c;它用于描述一个网络上的资源&#xff0c;而H…