美文网首页
Hibernate中的save方法

Hibernate中的save方法

作者: 奇乞祈兴 | 来源:发表于2017-03-24 14:45 被阅读0次

有事务的情况下:

save方法执行时,并没有真正的去执行一条insert语句,而是仅仅从数据库中获取下一个id,并赋值给domain对象,获取当时domain对象信息的一个快照,计划执行一条insert语句,然后在事务提交时才会去真正执行该语句,在真正执行前,如果你向数据库中插入一条记录,该记录则会使用下一个id,即domain对象虽然还没有数据库插入,但是已经占据一个id了。执行完该insert语句后会发现当前的domain对象和已经持久化的domain对象是不一致的,然后就需要执行一次update语句。

没有事务的情况下:

save方法在没有事务的情况下,仍然计划执行一条insert语句,同时从数据库中获取一个可用id,虽然最终没有insert,但是此id已被占用。

总结:

当使用save方法插入数据的时候,真正把数据持久化到数据库其实执行的是update语句。

相关文章

  • Hibernate中的save方法

    有事务的情况下: save方法执行时,并没有真正的去执行一条insert语句,而是仅仅从数据库中获取下一个id,并...

  • session.save()

    先理解hibernate对象三种持久化状态。首先,session.save()方法的功能将对象持久化到数据库中,对...

  • hibernate

    hibernate默认不提交事务 hibernate有2级缓存 session.save() session.sa...

  • Hibernate核心API

    在这一节中,我主要介绍下面的内容: Session介绍 Save和Update 实体对象的识别 Hibernate...

  • mongodb中save方法

    前面我简单介绍了下MongoDB怎样插入数据.那么数据插入到数据库中,就可能会修改数据.在MongoDB中,它提供...

  • hibernate jpa save 数据失败

    org.springframework.dao.DataIntegrityViolationException: ...

  • Hibernate中session方法

    1. sesson的CRUD常用方法 session.save(实体类) 保存 session.get(实体类的字...

  • Swift中UIImageWriteToSavedPhotosA

    方法调用 此处的save和方法实现中要保持一致 方法实现

  • Hibernate 启动时建表并导入初始数据

    Hibernate可在启动时根据配置的数据对象,自动建表,并导入数据。 设置方法 在Hibernate配置文件中,...

  • 2.cavas基础(2)

    8. 状态的保存和恢复 save()restore()Canvas状态存储在栈中,每当save()方法被调用后,当...

网友评论

      本文标题:Hibernate中的save方法

      本文链接:https://www.haomeiwen.com/subject/nbkfottx.html