私は2つのクラスの間にオプションの多対1の関係を持っています。 Hibernateは、外部キーをnullに設定することによって、プロパティをオプションに変換します。Hibernate:nullでない列を持つオプションの多対1
私のdb-schemaでは、列をnullにすることはできません。オプションのプロパティは、これらの列のデフォルト値で表されます。 beta
-object -
<class name="sth.Alpha" ...>
....
<many-to-one name="beta" not-found="ignore" class="sth.Beta" insert="true" update="true">
<column name="a1/>
<column name="a2/>
</many-to-one>
</class>
<class name="sth.Alpha" ...>
<composite-id>
<key-property name="b1" type="int">
<column name="b1" precision="8" scale="0"/>
</key-property>
<key-property name="b2" type="int">
<column name="b2" precision="8" scale="0"/>
</key-property>
</composite-id>
</class>
選択データがあるため、それはnull
をもたらす月対1タグにおけるnot-found="ignore"
の問題ではありません。しかし、Alpha
を挿入したいのですが? beta
はnull
に設定されています。私は、null
をa1
とa2
に挿入することはできないという例外があります。
insert
とupdate
をfalseに設定すると、この問題が解消されます。しかし、これが設定されていると、関係が保存されません。
データベース・スキーマは、あなたが私に言うならば、私もそれが<id unsavedvalue="whatever">
と一緒に
こんにちは、あなたの答えのためのおかげで、有望な音。しかし、リンクしているページは、少なくとも数日はダウンしています。しかし、私はunsavedvalueプロパティを試してみる – thomas