Hibernate 中的attachDirty,attachClean,merge之間的區(qū)別
1.attachDirty:將傳入的對象持久化并保存.如果對象未保存(Transient狀態(tài)),調用save方法保存。如果對象已保存(Detached狀態(tài)),調用update方法將對象與Session重新關聯(lián)。
getHibernateTemplate().saveOrUpdate(instance);
2.attachClean:將傳入的對象狀態(tài)設置為Transient(暫時的,瞬時的)狀態(tài)。
getHibernateTemplate().lock(instance, LockMode.NONE);
3.merge:將傳入的detached(分離的)狀態(tài)的對象的屬性復制到持久化對象中,并返回該持久化對象,如果該session中沒有關聯(lián)的持久化對象,加載一個,如果傳入對象未保存,保存一個副本并作為持久對象返回,傳入對象依然保持detached狀態(tài)。
getHibernateTemplate().merge(detachedInstance)
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請
點擊舉報。