gpt4 book ai didi

java - 如何更改 hibernate 约束名称生成?

转载 作者:行者123 更新时间:2023-11-30 11:05:20 25 4
gpt4 key购买 nike

我使用 hibernate 生成一个 ddl 模式,并得到:

约束 fk_o52asd0k9712345qhq4k5f6g 外键 (foo_id)
引用 foo (id) 匹配简单
更新时无操作 删除时无操作

如何替换约束生成的名称?

@Entity
public class Foo {
@Id
private Long id;
}

@Entity
public class Bar {
@OneToOne
@JoinColumn
@ForeignKey(name = "fk_foo") //this is what I tried, but did not work
private Foo foo;
}

结果:此位置不允许注解@ForeignKey

我可以更改什么来定义我自己的名字?

最佳答案

您可以使用 org.hibernate.annotations.ForeignKey。但是这个注解在最新的 hibernate 中被弃用了。最好使用 JPA 版本的 ForeignKey 注释,您必须将其用作 JoinColumn 的属性。

这里是修改后的代码:

@Entity
public class Bar {
@OneToOne
@JoinColumn( foreignKey = @ForeignKey(name = "fk_foo")))
private Foo foo;
}

关于java - 如何更改 hibernate 约束名称生成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29679616/

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