2012-12-27 61 views
0

我正在使用以下方法來更新對象,但它不執行任何操作。奇怪的是,它也不會拋出任何錯誤。HibernateTemplate()。update(object)不更新數據庫

public void updateObject(Object object) { 
    getHibernateTemplate().update(object); 
} 

我使用的一個映射的複合ID如下所示:

<composite-id class="com.company.project.model.ObjectPK" mapped="true"> 
    <key-property name="col1" type="string" column="COL1"/> 
    <key-property name="col2" type="string" column="COL2"/> 
</composite-id> 
<property name="col3" type="string" column="COL3"/> 

我讀的地方,我需要嘗試更新之前獲取的對象。這是我需要在這裏做的嗎?

+0

請顯示您的交易邊界。您可能還需要查看生成的sql以及是否有任何異常被拋出。 – Parvez

回答

2

documentation指出您可以用這種方式更新「給定persistent實例」,因此您需要首先獲取對象並對返回的實例進行操作。

+0

你的建議指出了我的問題。在我的特殊情況下,我最終使用了'HibernateTemplate.merge()'方法。 – bsingh

0

更新不起作用。你必須在交易中。既然你沒有提到他們的任何事情,我想你不是正確的managing your transactions