「親」と「子」の2つのエンティティがあり、カスケード属性が「すべて」に設定された双方向の1対多の関係を介してリンクされています。以下のコードを使用してChildオブジェクトをParentchildrenコレクションに追加すると、トランザクションをコミットするまで、永続化された子のIDを取得できません。
Parent p = (Parent) session.load(Parent.class, pid);
Child c = new Child();
p.addChild(c);
// "c" hasn't an ID (is always zero)
ただし、session.save()メソッドを明示的に呼び出して子エンティティを永続化すると、トランザクションがコミットされていない場合でも、IDが作成され、すぐに設定されます。
Child c = new Child();
session.save(c);
// "c" has an ID
session.save()メソッドを呼び出さずに子エンティティのIDをすぐに取得する方法はありますか?
ありがとう