Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何使用jpa在链接表中保存数据_Mysql_Spring Boot_Spring Data Jpa - Fatal编程技术网

Mysql 如何使用jpa在链接表中保存数据

Mysql 如何使用jpa在链接表中保存数据,mysql,spring-boot,spring-data-jpa,Mysql,Spring Boot,Spring Data Jpa,我有两个主表名为person和department。我还创建了一个名为person\u department的链接表。表的设计如下所示 Person Table ------------------ person_id varchar primary key first_name varchar last_name varchar Department Table ---------------------------------- dept_id varchar primary k

我有两个主表名为person和department。我还创建了一个名为person\u department的链接表。表的设计如下所示

Person Table
------------------
person_id  varchar primary key
first_name varchar
last_name  varchar 

Department Table
----------------------------------
dept_id   varchar primary key
dept_name varchar

Persone_department Table
----------------------------------
person_dept_id varchar  primary key
person_id      varchar  foreign key person table
dept_id        varchar  foreign key dept table

The classes for the above design is as below.

@Entity
Class Persoon {
    @Id
    String id;
    
    @Column(name="first_name")
    String firstName;
    
    @Column(name="last_name")
    String lastName;
}

@Entity
Class Department {
   @Id
   String departmentId;
   
   @column(name="dept_name")
   String deptName;
}

@Entity
Class PersonDepartment {
   @Id
   String personDeptId;

   @ManyToOne
   @Column(name="person_id")
   List<String> personId;

   @ManyToOne
   @Column(name="dept_id")
   List<String> deptId;
}
人员表
------------------
person\u id varchar主键
第一个名字varchar
姓氏varchar
部门表
----------------------------------
部门id varchar主键
部门名称varchar
Persone_部门表
----------------------------------
人员\部门\ id varchar主键
person\u id varchar外键person表
dept\u id varchar外键dept表
上述设计的等级如下所示。
@实体
班长{
@身份证
字符串id;
@列(name=“first_name”)
字符串名;
@列(name=“last_name”)
字符串lastName;
}
@实体
班级部{
@身份证
字符串departmentId;
@列(name=“dept\u name”)
字符串deptName;
}
@实体
班级人事部{
@身份证
细绳透视;
@许多酮
@列(name=“person\u id”)
列出人名;
@许多酮
@列(name=“dept\u id”)
工业贸易署署长名单;
}
一个人可以在多个部门工作,一个部门可以有多个人。我有以下三个用例

  • 接人部门
  • 将人员添加到新部门
  • 列出一个部门的所有人员
  • 有谁能帮助我实现这个用例吗?
    当我试图在person\u department表中保存数据时,我遇到了错误。

    您能发布错误吗?@hitch.united当我试图插入数据时,它没有生成正确的插入查询。我正在做的事情如下<代码>人员p=personrepository.getById(1)
    部门d=部门Resposition.getById(1)
    PersonDepartment pd=新的PersonDepartment()
    pd.setPerson(p)
    pd.SET部门(d)
    persondepartmentrepository.saveAndFlush(pd)它正在生成insert语句,如下所示<代码>插入个人部门(个人部门id,个人id)值(?,)未在表中插入部门id。