Spring+Hibernate+MS SQL を使用して Web アプリケーションを開発していて、奇妙な症状に遭遇しました。
A
フィールド参照 ( FK
) 別の子オブジェクトを持つ親オブジェクトがありますB
。にA
、注釈があります
@ManyToOne(cascade={CascadeType.PERSIST, CascadeType.MERGE}, fetch=FetchType.EAGER)
私が呼び出すSession.SaveOrUpdate
ときA
。1 つのケースを除いて、すべてが正常に機能B
し、同様に永続化されます。
id field
テーブル B の (主キーである) が 0 の場合、例外が発生します。
オブジェクトは保存されていない一時的なインスタンスを参照しています...
ゼロでない場合は、すべて問題ありません。
ほとんどの人が「オブジェクトは保存されていない一時的なインスタンスを参照しています...」という例外について提案したように、注釈を次のように変更しようとしました
@ManyToOne(cascade={CascadeType.ALL}, fetch=FetchType.EAGER).
次に、別のエラーが表示されますPrimary key cannot be NULL
...
この問題に関するコメントや説明はありますか? あなたの助けは大歓迎です!!