我有以下映射:
//...
@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)
提前致谢, Neuquino
答案 0 :(得分:2)
您可以使用@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