我有一個DB類中人員的對象{id=1, name="a"}
我創建了該對象的一個新實例Person p = new Person(1,"b")
。 然後我做getSession().saveOrUpdate(p)
休眠不更新事務性方法中的持久對象
我希望hibernate將名稱從「a」更新爲「b」,但它不這樣做。 我已經把這段代碼放入了一個Transactional方法。
我有一個DB類中人員的對象{id=1, name="a"}
我創建了該對象的一個新實例Person p = new Person(1,"b")
。 然後我做getSession().saveOrUpdate(p)
休眠不更新事務性方法中的持久對象
我希望hibernate將名稱從「a」更新爲「b」,但它不這樣做。 我已經把這段代碼放入了一個Transactional方法。
您需要按以下方式從數據庫中加載現有數據,
Person p = session.load(Person.class, 1);
p.setName("b");
session.update(p);
transaction.commit();
session.clear();
session.close();
任何想法爲什麼我的代碼既不會拋出異常也不會更新數據 – Mangoose
Hibernate會話只會更新會話中附加的對象上的對象。使用會話加載對象的原因是爲了附件目的。 –
的問題是在管線231這是我的水晶球說什麼。 –
不,我認爲它的排隊沒有235 @JBNizet。 –
@JBNizet暗示了什麼(哦,這麼微妙),是因爲如果你沒有發佈(至少)你正在使用的DAO和服務方法,以及你試圖保存的對象片段,我們不能幫你顯示對象所具有的字段)。 – JamesENL