我具有以下@OneToOne关系:
@Entity
public class CarUser {
@OneToOne
@JoinColumn(name = "use")
private User user;
}
@Entity
public class User {
}
基本上,User在核心模型中,而CarUser在扩展模型中。而且用户对CarUser一无所知(我无法在其上定义逆关系)。
问题是,当我删除用户时,是否也可以级联删除CarUser?
最佳答案
根据定义,如果您要声明“用户对CarUser一无所知”,则无法让持久层为您层叠。
但是,您不必一定要声明-这可能不是对设计的正确理解。在同一数据库架构内的实体彼此了解是合理的。
让我们这样说吧-即使(在制造/会计系统中)CostingModule和LedgerModule位于不同的模块中,也绝对希望它们进行通信和交互。
您也可以改为使用数据库中的外键约束或触发器来实现。
alter table CARUSER add constraint CARUSER_USER foreign key (ID)
references "USER" (ID) on delete cascade;