也許我誤解獲取和休眠合併的語義,但如果我這樣做(在Spring方法控制,所以使用的服務和DAO層):爲什麼使用session.get加載對象不會在會話結束時保留對象修改?
ClassMy a = service.get(234, ClassMy.class) (this loads the object using session.get)
a.setPropertyX("test");
這不會導致自動更新。相反,如果我已經在內存中有「a」,我會這樣做:
a = (ClassMy) service.merge(a);
a.setPropertyX("test");
這會導致更新。
是否必須在加載get後合併對象?聽起來很奇怪...
愚蠢的我,唯一錯誤的是propertyX已經設置爲「測試」。在這種情況下,hibernate不會做任何事情。加載並提交後將其設置爲「test2」,將導致更新。 – gotch4