hibernate中gethibernatetemplate.save与session.save的区别?

2025-02-27 17:12:14
推荐回答(1个)
回答1:

你说的应该是spring中的hibernatetemplate.save。使用HibernateTemplate 管理hibernate的操作的时候,我们的DAO 继承了HibernateDaoSupport之后,使用this.getHibernateTemplate().save(); 并不会向数据库中插入数据。实际上这时候只是在hibernate的session缓存中持久化了对象user,为了即时更新数据库,还要去配置文件applicationContext和使用事务管理的DAO。
Session.save()方法用于实体对象的持久化保存,也就是说当执行session.save()方法时会生成对应的insert SQL语句,完成数据的保存。每一次保存对象都需要得到一个session,然后保存完之后关闭session,此时会更新数据库。而执行到session.save()方法的时候只是持久化了对象 ,并没有向数据库中插入记录。