Java⇔RDBのMapping-Frameworkを語るThre Vol.3
■ このスレッドは過去ログ倉庫に格納されています
0787デフォルトの名無しさん
2005/09/06(火) 22:08:51PARENT 1<-->* CHILD
な関係にある二つのテーブルに対して
どちらも自動採番する ID 列を持ってた場合、
(Child は non-null な Parent の ID 列を外部キーに持つ)
Parent p = new Parent();
// p のプロパティ設定
Child c = new Child();
// c のプロパティ設定
c.setParent(p); --------(1)
p.getChildren().add(c);
session.merge(p);
みたいなことをやりたいのですが、CHILD.PARENT_ID に NULL を挿入できません、と言われます。
PARENT への INSERT より先に CHILD への INSERT が走ってるらしく
1 でセットした p は DB とは関連付けられてないので PARENT_ID も確かに NULL だろうなぁと言う感じです。
こういう場合って、一度 p を保存してから、
Child を add して、また p を保存、とかってやるんでしょうか?
きっと設定がおかしいだけなんでしょうけど
bidirectional とか inverse とかいろいろあって
どこから手を付けていけばいいのか分かっていません。
■ このスレッドは過去ログ倉庫に格納されています