gpt4 book ai didi

mysql - hbm2ddl - 如何避免 Hibernate 创建外键约束?

转载 作者:行者123 更新时间:2023-11-29 06:23:40 25 4
gpt4 key购买 nike

亲爱的,我正在使用 Hibernate 和 hbm2ddl。我不喜欢创建一种关系外键约束。不幸的是,到目前为止我无法实现。我尝试使用 Hibernate 和 JPA 注释,但没有成功。有什么提示吗?

我正在使用 Hibernate 4.3.1 和 mysql 5.6

@Entity
class Artikel {
...
@OneToMany(fetch=FetchType.LAZY, mappedBy="artikel")
@NotFound(action=NotFoundAction.IGNORE)
private List<Bild> images;
}

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.ForeignKey;
@Entity
class Bild {
@ManyToOne(fetch=FetchType.LAZY)
@org.hibernate.annotations.ForeignKey(name = "none")
@JoinColumn(name="idKey", insertable=false, updatable=false,
foreignKey = @ForeignKey(name="none",value = ConstraintMode.NO_CONSTRAINT))
private Artikel artikel;
}

它总是为列“idKey”上的表“bild”创建外键:FK_k93uxcqtc87jifh2j3rliumuj:导入时出错:“无法添加或更新子行:外键约束失败 (skateshop.bild, CONSTRAINT FK_k93uxcqtc87jifh2j3rliumuj FOREIGN KEY (idKey) 引用 artikel (id))"

最佳答案

您使用了正确的注解:

@ForeignKey(value = ConstraintMode.NO_CONSTRAINT)

它看起来像是 hibernate 4.x 中的错误,现在已在 5.x 中修复。如果您可以升级到 Hibernate 5.x,就可以解决问题。

另见 JPA association without foreign key

关于mysql - hbm2ddl - 如何避免 Hibernate 创建外键约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32154592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com