【发布时间】:2017-01-18 21:24:26
【问题描述】:
我正在尝试禁用在我的双向关联中生成的外键约束。我已经设法为我所有的单向关联做到了这一点,但由于某种原因,它在这里不起作用。
我确实知道最近在 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 上创建外键约束。
我需要做些什么来抑制双向情况的外键吗?
谢谢!
【问题讨论】:
标签: java hibernate foreign-keys hibernate-annotations