我有 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() .. 它奏效了!
是什么原因?
答案 0 :(得分:0)
级联不适用于查询。
当您使用 EntityManager
或 Hibernate ORM Session
中的方法更改实体的状态时,它会起作用。
您可以在 Hibernate ORM 文档中看到示例列表: 5.15. Cascading entity state transitions。