我想建模如下
具有 JOINED 继承策略的超类 User。
User 有两个子类 HumanUser 和 BotUser。
HumanUser 有两个子类 NonAdminUser 和 AdminUser
NonAdminUser 有两个子类 Citizen 和 Operator
AdminUser 有两个子类 SiteAdministrator 和 UserAdministrator
BotUser 有一个子类 System
我想对重叠层次结构建模,其中具有给定 userId 的用户可以是 Citizen、Operator、SiteAdministrator 和 UserAdministrator 中的一个或多个。
如何在 JPA 中实现这一点?
在我的应用程序中,在创建一个叶级实体(例如 Citizen)后,当我想创建另一个重叠实体时,由于主键约束而引发错误,无法完成持久性。
此外,如果可以重叠,如何仅删除叶级的信息。例如,仅删除 Citizen 特定数据,但保留 SiteAdministrator 数据。
有什么想法吗?