java – 如何在使用Hibernate删除父项时删除所有子行?
发布时间:2020-12-15 04:11:06 所属栏目:Java 来源:网络整理
导读:我有2张桌子. // Accounts@OneToMany(mappedBy="accounts",cascade=CascadeType.ALL)@Cascade(org.hibernate.annotations.CascadeType.ALL)private SetMails mails;// Mails@ManyToOne(cascade=CascadeType.ALL)@JoinColumn(name="user_id",referencedColumn
我有2张桌子.
// Accounts @OneToMany(mappedBy="accounts",cascade=CascadeType.ALL) @Cascade(org.hibernate.annotations.CascadeType.ALL) private Set<Mails> mails; // Mails @ManyToOne(cascade=CascadeType.ALL) @JoinColumn(name="user_id",referencedColumnName="id",insertable=false,updatable=false) private Accounts accounts; 如何在删除父行时组织删除所有子行?我曾尝试为Accounts表设置CascadeType.DELETE_ORPHAN,但是如果存在子行,我就无法删除父行. 解决方法
问题可能是关系定义在错误的方向.假设您有一个与邮件表具有一对多关系的帐户表,如果您将帐户关系定义为引用邮件,则最终无法从帐户中删除记录,直到它具有关联的邮件行为止.正确的方法是在邮件到参考帐户上创建外键.
使用 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |