gpt4 book ai didi

java - JPA 与同一实体的关系

转载 作者:太空宇宙 更新时间:2023-11-04 06:52:07 27 4
gpt4 key购买 nike

我使用MYSQL,并且我有员工表,包含

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
}
}
}

关于java - JPA 与同一实体的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23191490/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com