在大多數Hibernate應用程序的我看到了明確的更新語句以dBhibernate中需要顯式更新嗎?
Session session1 = factory.openSession();
Transaction tx1 = session1.beginTransaction();
College college= (College)session1.get(College.class, 1);
college.setCollegeName("College_update");
session1.saveOrUpdate(college); // at line 1
tx1.commit();
session1.close();
更新任何休眠實體但是,即使我想念聲明1,實體在DB更新。我的問題是,當甚至不需要時提及明確的更新聲明 是一個好習慣嗎?
不,這不是好習慣。你所看到的大部分代碼都來自不瞭解Hibernate基本特性的人。 –
saveOrUpdate並不表示將數據保存到數據庫,需要提交事務以確認將數據保存到數據庫。 saveOrUpdate只發布沒有任何COMMIT的UPDATE SQL到數據庫。如果稍後發現任何錯誤,則可以回滾數據。 –
@Shayan saveOrUpdate()甚至不會發出SQL更新。 –