Mysql 如何使用jpa在链接表中保存数据
我有两个主表名为person和department。我还创建了一个名为person\u department的链接表。表的设计如下所示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 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。