2

次のマッピングがあります。

//...
@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)

前もってありがとう、ネキノ

4

1 に答える 1

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_IDTable の主キーに対する外部キー制約を持つ、呼び出された列A。この外部キーの名前はFK_A_ID

  • B_IDTable の主キーに対する外部キー制約を持つ、呼び出された列B。この外部キーの名前はFK_B_ID

于 2012-04-17T19:47:51.447 に答える