Hibernate @OneToOne 级联删除 删除不掉

发布于 2021-12-01 17:46:29 字数 758 浏览 785 评论 6

//用户实体类:
@Entity
@Table(name = "T_USER")
public class User { 
    ......
    @OneToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "user_info_id", unique = true)
    private UserInfo userInfo;
    ......
}

//用户基本信息实体类:
@Entity
@Table(name = "T_USER_INFO")
public class UserInfo {
    ......
    @OneToOne(mappedBy = "userInfo", orphanRemoval = true)
    private User user;
    ......
}

//用QueryDSL删除:
new JPADeleteClause(entityManager,entityPath).where(((SimpleExpression<ID>) idPath).in(ids)).execute()

User实体类中还有一个多对多级联的角色列表,在删除User记录的时候,后台会自动发条SQL去删除UserRole关联表中的数据。但是,在删除User数据时,后台却不发删除UserInfo记录的SQL。

PS:明明设置了CascadeType.ALL,级联删除虽然不发SQL不好使,但是可以级联增加和修改。

希望哪位大神加以指点,先谢谢了!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

像你 2021-12-06 15:45:39

引用来自“Isronik”的评论

有没有在Service上加上@Transactional?

浮生未歇 2021-12-06 13:28:44

有没有在Service上加上@Transactional?

成熟稳重的好男人 2021-12-06 13:15:23

引用来自“maxdeath”的评论

一般都做假删,还能保留一份数据

疾风者 2021-12-06 10:37:29

引用来自“Isronik”的评论

是不是还有其它表在引用userinfo~

私藏温柔 2021-12-05 06:01:12

一般都做假删,还能保留一份数据

情绪失控 2021-12-02 04:47:11

是不是还有其它表在引用userinfo~

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文