我使用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;

如果经理有员工,我需要阻止删除。

请你的帮助。

===============>>#1 票数:1

主要方法是在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
   }
 }
}

===============>>#2 票数:0

我有解决方案,将引擎指定为innodb的解决方案如下:

ENGINE = INNODB

谢谢大家

  ask by Hazim translate from so

未解决问题?本站智能推荐: