[英]JPA Relation with same entity
我使用MYSQL,并且有employee表,包含
Employee {
id,
name,
tel,
dayOfBirth,
manager_id
}
并且经理引用了雇员ID,manager_id和ID之间存在数据库关系
我已经创建了实体类,并按如下所示放置关系:
@ManyToOne(cascade = CascadeType.REFRESH, optional = false, fetch = FetchType.EAGER)
@JoinColumn(name="manager_id", nullable=true,insertable=false,updatable=true)
private Employee manager;
如果经理有员工,我需要阻止删除。
请你的帮助。
主要方法是在SQL模式中添加限制。
PRIMARY KEY (ID) ,
FOREIGN KEY (MANAGER_ID) REFERENCES EMPLOYEE(ID)
ON DELETE NO ACTION ON UPDATE NO ACTION
在JPA中,您可以使用@PreDestroy进行检查
public class Employee {
@PreDestory
public void preDestroy()
( !getEmployees().isEmpty()) {
// handle it
}
}
}
我有解决方案,将引擎指定为innodb的解决方案如下:
ENGINE = INNODB
谢谢大家
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.