hibernate 3.6.0.FINAL にアップグレードした後にエラーが発生しましたが、3.3.2.GA で動作していました
私の問題はhttps://forum.hibernate.org/viewtopic.php?p=2452617に似ています
その場合、問題を解決するために cascade="all" を設定しました。
しかし、私の場合、参照されたエンティティを更新したくありません。私は双方向の関係を持っていません。それは単なる多対1です。ここに投稿された同様の質問のほとんどは、カスケードをすべて実行することを提案していますが、私の場合はカスケードしたくありません。
私のマッピング
<class name="org.hmil.ams.com.model.MyUserDetails" table="CMUPMST_TB">
<id name="username" column="UPMST_USER_NAME" type="java.lang.String"
unsaved-value="0">
<generator class="assigned" />
</id>
<property name="password" column="UPMST_USER_PWD" type="java.lang.String"
not-null="true" />
<property name="UPMST_ROLE_ID" type="long" not-null="true" />
<many-to-one name="UPMST_ROLE" fetch="join" cascade="none"
insert="false" update="false" class="org.hmil.ams.setup.model.CodeMst">
<column name="UPMST_ROLE_ID" />
</many-to-one>
</class>
Spring BlazeDS/flex を使用していますが、オブジェクトが切り離されています。新しく作成された MyUserDetails エンティティを保存しようとすると、CodeMst の一時的なインスタンスがあると表示されます (エンティティを更新していませんが、新しく作成された MyUserDetail を逆シリアル化している間は BlazeDS である可能性があり、参照されている CodeMst エンティティをインスタンス化しています。 null 値、これが問題の原因である可能性がありますが、アップグレード前に同じコードが機能していました) これを解決するための助けをいただければ幸いです。