企业自助建站哪家好,网站备案 工信部,搜索引擎营销简称,wordpress数据库表前缀hibernate保存失败save和saveOrUpdate之间的区别是什么或save和persist之间的区别是任何Hibernate面试中常见的面试问题#xff0c;就像Hibernate中get和load方法之间的区别一样。 Hibernate Session类提供了几种通过save #xff0c; saveOrUpdate和persist等方法将对象保存… hibernate保存失败 save和saveOrUpdate之间的区别是什么或save和persist之间的区别是任何Hibernate面试中常见的面试问题就像Hibernate中get和load方法之间的区别一样。 Hibernate Session类提供了几种通过save saveOrUpdate和persist等方法将对象保存到数据库中的方法。 您可以根据将对象持久存储到Database中的要求使用save() saveOrUpdate()或persist() 。 Hibernate问题与Spring框架Interview问题一起 在J2EE面试中也很受欢迎因为它在ORM中处于领先地位。 在出现在任何J2EE采访中之前最好准备Hibernate的一些问题。 其中之一是save saveOrUpdate和persist之间的区别 我们将在本文的Hibernate中看到这一点。 Hibernate中save和saveOrUpdate之间的区别 save and saveOrUpdate 方法 之间的主要区别是save()生成一个新的标识符并将INSERT记录插入数据库而saveOrUpdate可以根据记录的存在而进行INSERT或UPDATE。 显然 saveOrUpdate在使用方面更为灵活但是它需要进行额外的处理才能找出表中是否已存在记录。 总之 save()方法通过INSERT SQL查询将记录保存到数据库中生成一个新的标识符并将Serializable标识符back 。 另一方面基于数据库中对象的存在可以使用INSERT或UPDATE的saveOrUpdate()方法。 如果数据库中已存在持久性对象则将执行 UPDATE SQL并且如果数据库中没有对应的对象则将运行INSERT。 Hibernate中保存和持久方法之间的区别 在上一节中我们看到了save和saveOrUpdate之间的区别是什么现在我们将看到save方法与persist方法的区别。 保存和persist之间的第一个区别是返回类型。 与保存方法persist类似也将INSERT记录插入数据库但是persist返回类型为void而save的返回类型为Serializable对象。 persist和保存之间的另一个区别是这两种方法都使临时实例persist 。 但是 persist 方法不能保证将标识符值立即分配给persist实例分配可能在刷新时发生。 区别Hibernate中persist和保存方法的另一件事是在事务边界之外存在行为。 persist 方法保证了如果在事务边界之外调用它它将不会执行INSERT语句。 save()方法不能保证相同它返回一个标识符并且如果必须执行INSERT来获取该标识符例如“ identity”生成器则无论您位于a的内部还是外部此INSERT都会立即发生。交易。 Hibernate中save和persist方法之间的第四个区别与先前的save和persist差异有关。 由于其上述persist方法在事务边界之外的行为因此在具有扩展Session上下文的长时间对话中很有用。 另一方面在具有扩展Session上下文的长时间对话中保存方法不是很好。 这些是Hibernate的save saveOrUpdate和persist方法之间的一些区别 。 这三种方法都与将对象保存到数据库有关但是行为却大不相同。 有关save persist和saveOrUpdate知识不仅有助于决定如何更好地使用Hibernate API而且还可以帮助您在Hibernate采访中做得更好。 别忘了分享 参考 JavaRevisited博客上的JCG合作伙伴 Javin Paul提供了Hibernate中savepersist和saveOrUpdate之间的区别 。 翻译自: https://www.javacodegeeks.com/2012/09/hibernate-save-vs-persist-and.htmlhibernate保存失败