Hibernate @OneToOne 级联删除 删除不掉
//用户实体类:
@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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
引用来自“Isronik”的评论
有没有在Service上加上@Transactional?
有没有在Service上加上@Transactional?
引用来自“maxdeath”的评论
一般都做假删,还能保留一份数据
引用来自“Isronik”的评论
是不是还有其它表在引用userinfo~
一般都做假删,还能保留一份数据
是不是还有其它表在引用userinfo~