我需要檢測一個對象是不是瞬態的..如果它不是我想通過Hibernate更新。休眠檢測一個對象是否是暫態的併發持久性
通常我通過檢查是否已設置id來做到這一點,但我擔心這不是線程安全的,並且我有另一個保存對象的線程,並且它可能沒有設置id,但Hibernate已經在保存對象的過程。
我該如何以線程安全的方式做到這一點?
謝謝。
public void updateIfNotNew(PersistentObject a){
//if another object is in the process of saving....this update will not get persisted
if (a.id!=null){
session.update(a);
}
}
如果你擔心併發更新,那麼你需要鎖定(悲觀或樂觀)。 – 2012-01-06 02:18:50
如何使用saveOrUpdate()方法? – 2012-01-06 04:58:22
我不想保存它...只更新它,如果它已被保存。 – 2012-01-06 10:54:05