Hibernate: Session对象中的两个保存记录的方法 save vs. persist,
在Hibernate框架中,Session类中有两个方法可以将一个domain实例向数据库中存入
save(Object obj);
persist(Object obj);
这两种方式几乎没有任何的不同,唯独一点
[java] view plaincopy
- Session s = HibernateUtil.getSession();
- Transaction tx=s.beginTransaction();
- s.save(entity);
- //tx.commit(); 此处事务没有被正常提交
对于save而言,在被调用时,Hibernate即向数据库发出一条insert语句,但最终事务没有被正常提交,则数据库执行回滚操作,将插入的记录删除
[java] view plaincopy
- Session s = HibernateUtil.getSession();
- Transaction tx=s.beginTransaction();
- s.persist(entity);
- //tx.commit(); 此处事务没有被正常提交
对于persist而言,在被调用时,Hibernate不会向数据库发出insert语句,当然记录也不会被写入数据库