2010-12-06 90 views
0

假設我有兩個類,Parent和Child。這兩者通過單向關係相關。在休眠中檢索多對一關係中的多邊對象的ID

<bag name="children" cascade="all"> 
    <key column="parent_id" /> 
    <one-to-many class="Child" /> 
</bag> 

如果我要一個子元素添加到父,因爲據我所知,我需要加載的父母,一個孩子添加到它,並保存父:

Parent p = dao.getParent(); 
Child c = new Child(); 
p.getChildren().add(c); 
dao.saveOrUpdate(p); 

然而當試圖在支持GUI的數據模型中鏡像這種改變時會出現問題。據我所知,沒有辦法找到被分配到c的主鍵時,它仍然存在。這在GUI中會導致問題,因爲如果我向該模型添加多行,則無法區分它們以供以後使用。

任何想法,我可能能夠訪問孩子的主鍵後,它已被持續?

回答

2

您可以在會話刷新後訪問自動生成的密鑰,即在explcit session.flush()之後或事務提交之後。

+0

呃......我可以發誓我檢查了它,它回來爲空。但我只是調試,你說得對。謝謝。 – Tenner 2010-12-06 19:25:15