织梦搬家 网站空白网站建设的平台分析
织梦搬家 网站空白,网站建设的平台分析,大连招聘网最新招聘,个人网站名称大全save和saveOrUpdate之间的区别是什么或save和persist之间的区别是任何Hibernate面试中常见的面试问题#xff0c;就像Hibernate中get和load方法之间的区别一样。 Hibernate Session类提供了几种通过save #xff0c; saveOrUpdate和persist等方法将对象保存到数据库中的方法。… save和saveOrUpdate之间的区别是什么或save和persist之间的区别是任何Hibernate面试中常见的面试问题就像Hibernate中get和load方法之间的区别一样。 Hibernate Session类提供了几种通过save saveOrUpdate和persist等方法将对象保存到数据库中的方法。 您可以根据将对象持久存储到Database中的要求使用save() saveOrUpdate()或persist() 。 Hibernate问题与Spring框架Interview问题一起 在J2EE访谈中也很受欢迎因为它的地位非常重要。 在出现在任何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方法的区别。 save和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采访中做得更好。 别忘了分享 参考我们的JCG合作伙伴 Javin Paul在Javarevisited博客上提供了Hibernate中savepersist和saveOrUpdate之间的区别 。 翻译自: https://www.javacodegeeks.com/2012/09/hibernate-save-vs-persist-and.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91240.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!