私は次のような状況を持っている:なし先がなかった場合、エイリアスはいずれも保持していないであろうから、私は、この関係の所有者であるデスティネーションをしたいと思います:は、スキーマ定義に従って定義されたhibernateのmappedByか、それとも論理的に定義されていますか?
つの宛先は、論理的に多くの別名
を持つことができます意味。
しかし、データベーススキーマがこのようなものです:
DestinationAlias外部キーとしてidDestinationを有するので、休止状態の注釈で@JoinColumnがDestinationAliasに次のようになります。
先:
@OneToMany(fetch=FetchType.LAZY, cascade={CascadeType.ALL}, mappedBy = "mainCity")
public Set<DestinationAlias> getAliases() {
return aliases;
}
デスティネーションエリア:
@ManyToOne(fetch=FetchType.LAZY, cascade={CascadeType.ALL})
@JoinColumn(name="IDDESTINATION", nullable=false)
public Destination getMainCity() {
return mainCity;
}
mappedBy
がDestinationクラスの属性であるため、この定義から、DestinationAliasはこの関係の所有者です。
休止状態ではdatabase schema
に従って、エンティティを関係の所有者としてマークする必要がありますか、それともLogical
の理由に基づいて行うことができますか?
私の現在の問題は、DestinationAliasはこの関係の所有者であり、意味的にはDestinationを所有者にしたいと思います。そうでなければコードはうまく動作します。 – brainydexter
@brainydexter上記の編集を参照してください – pap
洞察をいただきありがとうございます。 – brainydexter