エンティティに一方向の onetomany オブジェクトがあります
@OneToMany(mappedBy="pub", cascade = CascadeType.ALL, orphanRemoval=true)
@JoinColumn(name="reference")
このエンティティと子エンティティの FK 列と PK 列はどちらも「参照」です
この結合用に SQL が生成されると、デフォルトの objectname + _ + PK "pub_reference" が使用され、渡した名前は無視されます。
name= は何でも変更できますが、常に無視されます。
単一の列の結合であっても、名前のデフォルトの動作をオーバーライドするにはどうすればよいですか?
親会社
@OneToMany(mappedBy="pub", cascade = CascadeType.ALL, orphanRemoval=true)
@JoinColumn(name="bob")
private Collection<PubDisplayText> pubDisplayText;
子エンティティ
private Pub pub;
@Id
@XmlTransient
public Pub getPub() {
return pub;
}
public void setPub(Pub pub) {
this.pub = pub;
}
参照http://docs.oracle.com/javaee/6/api/javax/persistence/JoinColumn.html#name%28%29