无法删除父行:外键约束失败

时间:2021-06-19 05:49:28

标签: java sql spring spring-boot jpa

我有 2 个实体(用户,教师),用户是父亲......

当我想通过本机查询删除用户时,它会给我这个错误 ( Cannot delete or update a parent row: a foreign key constraint fail )

虽然我已经写过:

@OneToOne(mappedBy = "user_id",fetch = FetchType.EAGER,
    cascade = CascadeType.ALL  , orphanRemoval = true )

在用户实体中的 Teacher 引用处 但是当我尝试使用 JPA 派生方法 deleteByEmail() .. 它奏效了!

是什么原因?

1 个答案:

答案 0 :(得分:0)

级联不适用于查询。

当您使用 EntityManager 或 Hibernate ORM Session 中的方法更改实体的状态时,它会起作用。

您可以在 Hibernate ORM 文档中看到示例列表: 5.15. Cascading entity state transitions