文章目录

  • ​​一、save和persist方法的区别​​
  • ​​save方法:瞬时态 转换 持久态 ,会初始化OID​​
  • ​​persist方法:瞬时态 转换 持久态​​

一、save和persist方法的区别

save方法:瞬时态 转换 持久态 ,会初始化OID

1.执行save方法,立即触发insert语句,从数据库获得主键的值(OID值)

2.执行save方法前,设置OID将忽略。

3.如果执行查询,session缓存移除了,在执行save方法,将执行insert

如下图

不管是save还是persist,如果没有清除session都会先insert,再update

Java_SSH之Hibernate_002_05:save和persist方法的区别,都是保存数据的,persist保存的对象,在保存前,不能设置id,否则会报错_外部调用


Java_SSH之Hibernate_002_05:save和persist方法的区别,都是保存数据的,persist保存的对象,在保存前,不能设置id,否则会报错_外部调用_02

Java_SSH之Hibernate_002_05:save和persist方法的区别,都是保存数据的,persist保存的对象,在保存前,不能设置id,否则会报错_主键_03

persist方法:瞬时态 转换 持久态

1、persist保存的对象,在保存前,不能设置id,否则会报错

2、save和persist都是持久化对象的作用

3、save 因为需要返回一个主键值,因此会立即执行 insert 语句,而 persist 在事务外部调用时则不会立即执行 insert 语句,在事务内调用还是会立即执行 insert 语句的。

Java_SSH之Hibernate_002_05:save和persist方法的区别,都是保存数据的,persist保存的对象,在保存前,不能设置id,否则会报错_外部调用_04


Java_SSH之Hibernate_002_05:save和persist方法的区别,都是保存数据的,persist保存的对象,在保存前,不能设置id,否则会报错_外部调用_05


Java_SSH之Hibernate_002_05:save和persist方法的区别,都是保存数据的,persist保存的对象,在保存前,不能设置id,否则会报错_主键_06


Java_SSH之Hibernate_002_05:save和persist方法的区别,都是保存数据的,persist保存的对象,在保存前,不能设置id,否则会报错_外部调用_07