Hibernate中merge的詳細使用
http://blog.csdn.net/lang_man_xing/article/details/7572964
merge的作用是:新new一個對象,如果該對象設置了ID,則這個對象就當作遊離態處理:
當ID在數據庫中不能找到時,用update的話肯定會報異常,然而用merge的話,就會insert。
當ID在數據庫中能找到的時候,update與merge的執行效果都是更新數據,發出update語句;
如果沒有設置ID的話,則這個對象就當作瞬態處理:
用update的話,由於沒有ID,所以會報異常,merge此時則會保存數據,根據ID生產策略生成一條數據;
Session session1 = HibernateUtils.getSession();
Transaction transaction1 = session1.beginTransaction();
Students str1 = new Students();
str1.setStu_id(4);
str1.setName("222");
session1.merge(str1);
str1.setName("333");
transaction1.commit();
session1.clear();
session1.close();