Hibernate中merge、saveOrUpdate、save、persist
来源:互联网 发布:pl2303hx mac驱动 编辑:程序博客网 时间:2024/05/17 13:06
test表中有id(pk)和name两个字段
1.saveOrUpdate(pojo)
private void testSaveOrUpdate(){Session session = HibernateSessionFactory.getSession();Transaction tx = session.beginTransaction();Test test = new Test();test.setName("pingqc1");session.saveOrUpdate(test);test.setName("pingqc2");tx.commit();session.close();}
对于一个test对象先saveOrUpdate, 然后再修改test的name属性,最后事物提交。执行后可以在控制台看到两句hql语句:
Hibernate: insert into test.test (name) values (?)Hibernate: update test.test set name=? where id=?也就是说test经过saveOrUpdate后,进入持久化状态
2.save(pojo)
同上,根据函数名可以知道如果test对象开始就已经存在,则执行两次update语句
3.merge(pojo)
private void testMerge() {Session session = HibernateSessionFactory.getSession();Transaction tx = session.beginTransaction();Test test = new Test();test.setName("pingqc11");session.merge(test);test.setName("pingqc22");tx.commit();session.close();}对于merge,修改test后并没有将其写入数据库,所以,merge操作后test处于托管状态
4.persist(pojo)
还未深究,从表面看来与save方法相同
- Hibernate中merge、saveOrUpdate、save、persist
- Hibernate save, saveOrUpdate, persist, merge, update 区别
- hibernate save/persist/update/saveOrUpdate/merge解读
- hibernate save,saveOrUpdate ,persist
- Hibernate的save、persist、update、merge和saveOrUpdate
- hibernate中各种保存方法的区别 save persist update saveOrUpdate merge lock
- 【Hibernate】Hibernate中save、persist和saveOrUpdate有何不同?
- Hibernate中save、saveorupdate、persist方法的区别
- hibernate merge saveorupdate save lock
- Difference between save vs persist and saveOrUpdate in Hibernate
- hibernate中save()和persist()
- hibernate中 saveorupdate(),save(),update(),merge()你是怎么看待的;
- persist、merge、save总结
- Hibernate 中save()和saveorupdate()的用法
- Hibernate几种状态,save,update,saveorUpdate,merge
- hibernate的save(),saveOrUpdate(),update(),merge()方法的使用
- hibernate的save,update,saveorupdate以及merge区别
- Hibernate中save()和persist()区别
- 黑马程序员----学习笔记
- 祝福短信NO.1
- HP惠普6520s 未知设备 unknown device
- 激励短信176条
- ---Shell字符串的截取
- Hibernate中merge、saveOrUpdate、save、persist
- 2012年工作计划
- 假期回顾
- Android学习笔记--ListView使用过程
- 【男人8题】
- Android学习笔记之adb问题
- 查看系统端口占用情况
- Vi编辑器的基本使用方法
- .net 面试题目