四川建设厅官方网站,网络营销常见的工具,中国建设银行招聘官网,爱吧保存与保存或更新与持久保存在Hibernate中 save和saveOrUpdate之间的区别是什么或save和persist之间的区别是任何Hibernate面试中常见的面试问题#xff0c;就像Hibernate中get和load方法之间的区别一样。 Hibernate Session类提供了几种方法#xff0c;可以通过诸如save就像Hibernate中get和load方法之间的区别一样。 Hibernate Session类提供了几种方法可以通过诸如savesaveOrUpdate和 坚持。 您可以根据将对象持久化到数据库中的要求使用savesaveOrUpdate或persist。 关键是所有这些对象都用于将数据存储到数据库中但它们也使瞬态对象在Hibernate中保持不变。 Hibernate问题与Spring框架Interview问题一起 由于在ORM中的领先地位在Java访谈中也很受欢迎。 在出现任何问题之前最好先准备好Hibernate的一些问题 J2EE访谈 。 其中之一是savesaveOrUpdate和persist之间的区别我们将在本文的Hibernate中看到这一点。 save和saveOrUpdate方法之间的主要区别是 save会在数据库中生成一个新的标识符和INSERT记录而saveOrUpdate可以根据记录的存在来进行INSERT或UPDATE。 显然saveOrUpdate在使用方面更为灵活但是它涉及额外的处理以找出表中是否已存在记录。 总而言之save方法通过INSERT SQL查询将记录保存到数据库中生成新的标识符然后将Serializable标识符返回。 另一方面基于数据库中对象的存在可以使用INSERT或UPDATE的saveOrUpdate方法。 如果数据库中已经存在一个持久性对象则将执行 UPDATE SQL如果数据库中没有相应的对象则将运行INSERT。 在上一节中我们看到了save和saveOrUpdate之间的区别是什么现在我们将看到save与persist方法之间的区别。 1save和persist之间的第一个区别是返回类型。 与保存方法类似也将INSERT记录持久保存到数据库中但是 持久的返回类型为空而保存的返回类型为可序列化对象。 2持久和保存之间的另一个区别是两种方法都可以 瞬时实例持久化。 但是persist方法不能保证将标识符值立即分配给持久实例分配可能在刷新时发生。 该图还说明了Hibernate中持久性对象的生命周期以及它如何从一种状态转移到另一种状态例如从“瞬态到持久”到“持久”。 分离。 您可以看到save和saveOrUpdate方法都将对象从“瞬态”移动到“持久”状态。 3在Hibernate中区别持久化和保存方法的另一件事是它在事务边界外部的行为。 如果它在事务边界之外被调用persist方法保证不会执行INSERT语句。 save方法不能保证相同它返回一个标识符并且如果必须执行INSERT来获取该标识符例如“ identity”生成器则无论您位于a的内部还是外部此INSERT都会立即发生。交易。 这些是Hibernate的savesaveOrUpdate和persist方法之间的一些区别 。 这三种方法都与将对象保存到数据库有关但是它们的行为却大不相同。 保存知识 坚持并保存或更新OrOrUpdate不仅有助于决定如何更好地使用Hibernate API而且还可以帮助您在Hibernate访谈中表现出色。 您可能喜欢的其他休眠文章和面试问题 2020 Java开发人员路线图 指南 Hibernate中一级和二级缓存之间的区别 回答 学习Hibernate和JPA的前5门课程 课程 Hibernate中的get和load方法之间的区别 回答 为Java开发人员提供的5个Spring和Hibernate培训课程 列表 2本书从零开始学习休眠 书籍 深入学习Spring框架的5本书 书籍 为什么Hibernate Entity类在Java中不应该是final 回答 Java面试中的10个休眠问题 列表 网上学习Spring和Hibernate的5大热门课程 课程 学习Java微服务的5大热门课程 课程 Java开发人员的15个Spring Boot面试问题 问题 每个Java开发人员都应该学习的5个Spring Boot功能 功能 感谢您阅读本文如果您喜欢本文和面试问题请与您的朋友和同事分享。 如果您有任何问题或反馈请发表评论。 翻译自: https://www.javacodegeeks.com/2020/03/difference-between-save-vs-persist-and-saveorupdate-in-hibernate.html