如何在双向关联上禁用休眠外键约束?
2022-09-03 05:54:14
我正在尝试禁用在双向关联上生成的外键约束。我已经设法为我的所有单向关联执行此操作,但由于某种原因,它在这里不起作用。
我确实知道最近在Hibernate 5.x中修复的ContraintMode.NO_CONSTRAINT错误,并且我正在运行最新的Hibernate 5.2.6。
我的注释现在如下所示:
class Parent {
@OneToMany(mappedBy="parent", cascade=CascadeType.ALL, orphanRemoval=true)
@OrderColumn(name="childIndex")
public List<Child> getChildren() {
return children;
}
}
class Child {
@ManyToOne(optional=false)
@JoinColumn(name="parent", foreignKey = @ForeignKey(value = ConstraintMode.NO_CONSTRAINT))
public Parent getParent() {
return parent;
}
}
但是,尽管NO_CONSTRAINT,Hibernate仍在对child.parent -> parent.id 创建外键约束。
我是否需要执行其他操作来抑制双向情况的外键?
谢谢!