hibernate注释模式生成多对多OnDelete级联
我有一个使用 hibernate 注释定义的多对多关系,并使用 hbm2ddl 创建我的架构,连接表是使用外键创建的,但我没有设法将“删除级联”操作添加到外键。 我尝试过: @OnDelete(action=OnDeleteAction.CASCADE) 但我得到这个例外:
只有反向一对多关联可以使用 on-delete="cascade"
如果我手动将删除级联添加到我的架构中,它可以正常工作。
我正在使用带有 JPA 2.0 和 postgres 8.4 的 hibernate 3.5.3
是否可以添加“删除级联”来连接使用 hbm2ddl 创建的表外键?
更新
ClassA
{
@OnDelete(action=OnDeleteAction.CASCADE)
@ManyToMany(targetEntity = ClassB.class)
@JoinTable(name = "CLASS_A_B", joinColumns = { @JoinColumn(name = "PARENT_CLASS_A") }, inverseJoinColumns = { @JoinColumn(name = "CHILD_CLASS_B_ID") })
public List<ClassB> getClassBList() {
if (classBList == null) {
classBList = new ArrayList<ClassB>();
}
return this.classBList;
}
}
I have a ManyToMany relation defined with hibernate annotations and I create my schema with hbm2ddl, the join table is created with the foreign keys, but I didn't manage to add the 'on delete cascade' action to the foreign keys.
I tried with:
@OnDelete(action=OnDeleteAction.CASCADE)
but I get this exception:
only inverse one-to-many associations may use on-delete="cascade"
If I manually add on delete cascade to my schema it works fine.
I am using hibernate 3.5.3 with JPA 2.0 and postgres 8.4
Is it possible to add 'on delete cascade' to join tables foreign keys create with hbm2ddl ?
Update
ClassA
{
@OnDelete(action=OnDeleteAction.CASCADE)
@ManyToMany(targetEntity = ClassB.class)
@JoinTable(name = "CLASS_A_B", joinColumns = { @JoinColumn(name = "PARENT_CLASS_A") }, inverseJoinColumns = { @JoinColumn(name = "CHILD_CLASS_B_ID") })
public List<ClassB> getClassBList() {
if (classBList == null) {
classBList = new ArrayList<ClassB>();
}
return this.classBList;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论