【发布时间】:2010-08-13 07:51:58
【问题描述】:
@OneToMany 和 @ManyToOne 注释有一些问题。
我有两个类 Suite 和 SuiteVersion。 SuiteVersion 依赖于套件。所以我在我的代码中实现了这个:
班级套件:
@OneToMany(mappedBy = "suite")
@Cascade(CascadeType.DELETE_ORPHAN)
private List<SuiteVersion> listSuiteVersion = new ArrayList<SuiteVersion>();
类套件版本:
@ManyToOne()
@Cascade({org.hibernate.annotations.CascadeType.SAVE_UPDATE})
private Suite suite;
但是当我删除一个关联了 SuiteVersion 的套件时,我遇到了一些问题。 Hibernate 不会在 Suite 之前删除 SuiteVersion。我不知道为什么,因为我在代码中提到了这一点:
@Cascade(CascadeType.DELETE_ORPHAN)
这是我删除套件时获得的日志:
休眠:从 ID_SUITE=? 的 SUITE 中删除 13 août 2010 09:40:50 org.hibernate.util.JDBCExceptionReporter logExceptions 注意:SQL 错误:-8,SQLState:23504 13 août 2010 09:40:50 org.hibernate.util.JDBCExceptionReporter logExceptions GRAVE:违反完整性约束:外键无动作; FK42895651EA304E6 表:SUITE_VERSION
提前感谢您的帮助。
最好的问候,
弗洛伦特,
P.S : 对不起我的英语我是法国人。
【问题讨论】:
标签: java hibernate orm persistence one-to-many