gpt4 book ai didi

java - 使用@JoinTable 映射时如何指定FK 名称?

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

我有以下映射:

//...
@Table(name="A")
public class A{
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "A_B", joinColumns = {@JoinColumn(name = "A_ID")}, inverseJoinColumns = {@JoinColumn(name = "B_ID")})
public Set<B> getBs() {
return this.meals;
}
//...
}

//...
@Table(name="B")
public class B{
private int id;
private String description;
//...
}

如何指定表“A_B”中的外键名称? (FK_A_ID 和 FK_B_ID)

提前致谢,内奎诺

最佳答案

您可以使用 @ForeignKey指定连接表中外键约束的名称。

例如:

@ForeignKey(name="FK_A_ID" , inverseName="FK_B_ID")
@JoinTable(name = "A_B", joinColumns = {@JoinColumn(name = "A_ID")}, inverseJoinColumns = {@JoinColumn(name = "B_ID")})
public Set<B> getBs() {
return this.meals;
}

然后表A_B具有以下结构:

  • 名为 A_ID 的列它对表 A 的主键具有外键约束.这个外键的名字是FK_A_ID

  • 名为 B_ID 的列它对表 B 的主键具有外键约束.这个外键的名字是FK_B_ID

关于java - 使用@JoinTable 映射时如何指定FK 名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10197950/

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