休眠更新表相同的值或相同的值,而不session.save休眠更新表session.update有沒有session.save或session.update
我們怎樣才能加載對象(從數據庫中的行),並將其保存沒有改變任何字段值。
我們需要hibernate爲它的行發出一個UPDATE查詢,並加載相同的值。 我們在Hibernate和JDBC之間有一箇中間件,它在hibernate正在執行UPDATE時改變數據。
我們嘗試過session.replicate,但它刪除了該對象的所有集合。 即
class User{
Set<Order> orders; //inversely mapped
}
class Order{
User user;
}
while doing session.replicate(user) it is issueing a following SQL
update ORDER set user=null where id=?
這意味着我們正在失去我們所有的關係。
session.save或session.update不會工作,因爲我們不會在傳遞到休眠之前更改值。
是否有任何其他方式迫使hibernate考慮所有字段都被修改,並且它應該更新數據庫?
如果你不想改變數值爲什麼火了更新?或者你想讓會話對象和數據庫對象同步? – ManuPK 2012-03-15 02:44:40
我們在Hibernate和JDBC之間有一箇中間件,它在hibernate正在執行UPDATE和SELECT時改變(加密和解密)數據。我們需要此解決方案來處理現有的未加密數據。我們先加載然後再保存,所以在保存的時候我們會加密它。但是,所有這些都隱藏到休眠狀態,所以它不知道值已更改。 – Rajesh 2012-03-15 03:03:24