【发布时间】:2021-04-20 19:24:27
【问题描述】:
您好,我正在使用 Spring Boot 和 JPA 关系。
我有两个实体,Product 和 User,我想在它们之间建立关系,并保存所有购买的产品。
但是如果我从实体中删除产品,那么它将从新表(关系)中删除,如何补救?
也许从表中收集旧记录?
【问题讨论】:
-
即使从父表中删除,您也希望将其保留在子表中。然后它将是关系中的孤儿,并且该产品 id 将指向任何内容
-
那么我怎样才能保留所有用户的购物历史呢?
-
在这种情况下您不能删除产品实体。您只需将其停用或存档即可。
-
那么更好的是,不删除产品,是否创建新实体,其将保留交易信息
-
您要实现的目标将破坏表关系的目的,从而破坏数据完整性(RDBMS 基础概念)。如果要保留孤立条目,为什么需要在表之间建立关系?我想删除这种关系会解决你的目的。