Java JPA与同一实体的关系
我使用MYSQL,我有employee表,包含Java JPA与同一实体的关系,java,sql,jpa,Java,Sql,Jpa,我使用MYSQL,我有employee表,包含 Employee { id, name, tel, dayOfBirth, manager_id } 经理引用员工id,经理id和id之间存在数据库关系 我已经创建了实体类,并将关系放在如下位置: @ManyToOne(cascade = CascadeType.REFRESH, optional = false, fetch = FetchType.EAGER) @JoinColumn
Employee {
id,
name,
tel,
dayOfBirth,
manager_id
}
经理引用员工id,经理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中,您可以使用
我得到了解决方案,将引擎指定为innodb的解决方案如下:
@ManyToOne(cascade = CascadeType.REFRESH, optional = false, fetch = FetchType.EAGER)
@JoinColumn(name="manager_id", nullable=true,insertable=false,updatable=true)
private Employee manager;
引擎=INNODB
谢谢大家也许这就是你要问的?谢谢,我已经尝试添加行(关于删除无操作)然后(关于删除限制),但相同:(,我也尝试从数据库直接插入和删除并获得相同的。可能有一个参数我必须通过才能启用限制???