如何删除其子类实体已在Hibernate中删除的超类实体?

如何删除其子类实体已在Hibernate中删除的超类实体?,hibernate,subclass,entitymanager,superclass,Hibernate,Subclass,Entitymanager,Superclass,有两个实体类A和B,实例A、B(A和B具有相同的id)。B是A的子类(B扩展了A)。我从数据库中删除了一个实体“b”。然后,我看到“a”没有被删除。事实上,这就是我真正想要的。然而,在我的代码中,我也希望删除“a”。但当我执行entityManager.remove(a)时,它会抛出异常,表示无法删除分离的实体。删除子类实体似乎会使超类实体分离,尽管超类实体仍保留在数据库中。有人能帮我删除实例a吗 注意:a和b具有相同的id,因为当我创建b时,自动使用相同的id创建a(继承规则)。您应该使用会话

有两个实体类A和B,实例A、B(A和B具有相同的id)。B是A的子类(B扩展了A)。我从数据库中删除了一个实体“b”。然后,我看到“a”没有被删除。事实上,这就是我真正想要的。然而,在我的代码中,我也希望删除“a”。但当我执行entityManager.remove(a)时,它会抛出异常,表示无法删除分离的实体。删除子类实体似乎会使超类实体分离,尽管超类实体仍保留在数据库中。有人能帮我删除实例a吗


注意:a和b具有相同的id,因为当我创建b时,自动使用相同的id创建a(继承规则)。

您应该使用
会话。删除(b)
。这将从数据库中删除这两条记录


使用本机SQL delete语句删除b记录后,必须使用本机delete语句相应地删除a记录。

事实上,只有一个实体b由表a和表b中的两条记录表示。您是如何删除b记录的?感谢您的回复,我使用本机sql查询删除了b记录。