Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.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
Java JPA与同一实体的关系_Java_Sql_Jpa - Fatal编程技术网

Java JPA与同一实体的关系

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

我使用MYSQL,我有employee表,包含

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


谢谢大家

也许这就是你要问的?谢谢,我已经尝试添加行(关于删除无操作)然后(关于删除限制),但相同:(,我也尝试从数据库直接插入和删除并获得相同的。可能有一个参数我必须通过才能启用限制???