【发布时间】:2021-12-17 16:16:57
【问题描述】:
我正在做一个休息应用程序,我在使用@PostMaping 时遇到问题 我有 2 个具有第一个 TblEmployees 模型的类和 2 个 TblDepartments 类,它们在外键 =“dbID”上连接
当我插入时:
{
"empName": "days",
"empActive": 0,
"dbID": 15,
"dep_name": "sso"
}
给出错误 SQL 错误:1452
这是我的代码:
TblEmployees має поля empName, empActive,dbID
TblEmployees має поля dbID, dep_name
EmployessServise
public TblEmployees add_Employees(TblEmployees tblEmployees){
return repo.save(tblEmployees);
EmployesController
@PostMapping("/add_Emp")
public TblEmployees add_emp(@RequestBody TblEmployees tblEmployees){
return service.add_Employees(tblEmployees);
@Entity
@Table(name = "employees")
public class TblEmployees {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int emp_id;
private String empName;
private Boolean empActive;
private Integer dbID;
@ManyToOne
@JoinColumn(name = "dbid",insertable = false,updatable = false)
private TblDepartments departments;
---getter setter
@Entity
@Table(name = "departments")
public class TblDepartments {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "dbID")
private Integer dbID;
private String dep_name;
public TblDepartments(){
}
---getter setter
【问题讨论】:
-
我假设您使用的是 MySQL 数据库,那么错误代码 1452 表示 无法添加或更新子行:外键约束失败。所以请确保
dbID确实存在于另一个表中。 -
dbID 在两个表中