關於Hibernate一對多關聯儲存問題

expeditioner發表於2004-12-13
下面的程式碼是用來新增一個新的Child,Parent與Clild是父子關係,建立了雙向一對多關係
Parent p=(Parent)session.load(Parent.class,pid);//(1)
Child c=new Child();
c.setParent(p);
p.getChildren().add(c);
session.save(c)
session.flush();
...
上面程式碼中的註釋(1),是從資料庫中取出已經存在的Parent,我的問題是,能否在新增加一
個Parent的同時,再增加其Child,隨後在一個事務中提交?也就是說Parent與Child一起增加到資料庫中,
比如下段程式碼:
Parent p=new Parent();//新增加的一個Parent
Child c=new Child();//新增加的一個Child
c.setParent(p);//指定這個新增的Child的Parent為新增的p
p.getChildren().add(c);//為新增的p增加Child
tx=session.beginTransaction();//開始一個事務
session.save(p);//儲存修改
session.flush();
tx.commit();//提交事務
...
但是在執行時總是不成功,為什麼?先謝謝了.

相關文章