`
andylu521
  • 浏览: 17334 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Hibernate的merge() 用法

阅读更多
首先, merge作用大致相当于saveorupdate这个方法, 即有唯一性标识, 则运行save, 没有则运行update

    下面来比较2者的区别, update(object), 方法运行后, object是持久化状态, 而Object obj = merge(object), 方法运行后, object是脱管状态, obj是持久化状态

    最后比较2者的性能, 本人使用for循环测试10000次, merge: 150ms, update: 50ms, 显然update性能占优势.

    所以, merge的用法应该是在需要返回被保存的对象时使用.
分享到:
评论

相关推荐

    Hibernate中的merge使用详情解说

    当我们使用 merge 方法时,Hibernate 会根据对象的状态来决定是否执行插入或更新操作。如果对象的 ID 已经存在于数据库中,那么 merge 方法将执行更新操作;否则,它将执行插入操作。 在 Hibernate 中,对象可以...

    Hibernate merge、update与saveOrUpdate方法的区别

    - 使用`merge`方法,Hibernate首先会查询数据库中是否存在相同的ID,如果存在则更新该记录;如果不存在,则插入一条新记录。 - 使用`update`方法,Hibernate会直接更新对应ID的记录,假设ID存在的情况下。 - 使用...

    Hibernate save persist merge探究

    本文将深入探讨Hibernate中的save、persist和merge这三个方法,帮助开发者更好地理解它们的用法和内在机制。 一、save()方法 save()是Hibernate早期版本中最常用的方法,用于将对象持久化到数据库中。当调用Session...

    Hibernate中的merge使用详情解说.docx

    综上所述,`merge()`方法是Hibernate中处理对象状态转换和数据同步的重要工具。它能够处理各种对象状态,确保数据的一致性和完整性,同时避免了可能的冲突。在设计和实现业务逻辑时,理解并正确使用`merge()`对于...

    HibernateDemo(hibernate基本用法演示)

    `HibernateDemo(hibernate基本用法演示)` 是一个针对 Hibernate 框架的基础操作示例项目。Hibernate 是一款强大的 Java ORM(对象关系映射)框架,它允许开发者在 Java 应用程序中以面向对象的方式处理数据库交互,...

    merge的注意事项

    在探讨“merge的注意事项”这一主题时,我们深入解析Hibernate框架中merge操作的特性与应用场景,以及它与其他数据持久化方法的区别,特别是与saveOrUpdate函数的对比。这不仅有助于理解Hibernate的核心机制,还能...

    Hibernate EntityManager用法

    EntityManager提供了一些方法来管理实体,如`persist()`用于保存新实体,`merge()`用于更新现有实体,`remove()`用于删除实体,以及`find()`用于根据主键查找实体。 **4. 查询** Hibernate EntityManager支持JPA的...

    Hibernate框架jia包

    这个“Hibernate框架jia包”包含了你需要在项目中使用Hibernate的所有核心库和依赖,确保你能顺利进行数据库操作。 1. **什么是Hibernate**: Hibernate是一个开源的ORM框架,它提供了一种在Java应用中持久化数据...

    Hibernate实战

    这涉及到使用Session的save()、saveOrUpdate()、load()、get()、update()、merge()和delete()方法。同时,还会讨论事务管理和并发控制,确保数据的一致性和完整性。 查询语言在Hibernate中主要有两种:HQL...

    Hibernate:不容易理解的 lock 和 merge.docx

    `merge` 方法则是 Hibernate 中用于将游离状态的对象合并到持久化状态的过程。它的主要职责如下: 1. **保存新对象**:如果传入的对象是未保存的新对象(unsaved),`merge` 方法会创建该对象的一个拷贝,并调用 `...

    hibernate_reference中文版和Hibernate中文手册

    5. CRUD操作:Hibernate提供了便捷的方法来完成创建(save()、persist())、读取(get()、load()、query())、更新(update()、merge())和删除(delete())对象的操作。其中,HQL(Hibernate Query Language)和...

    hibernate-release-5.4.25.Final_Hibernate5.4.25_hibernate所需jar包_源

    1. 持久化操作:通过SessionFactory创建Session,然后调用Session的save()、update()、delete()和merge()方法,实现对象的增删改操作。 2. 查询:使用Query或Criteria API,支持复杂条件、分页、排序等查询,甚至...

    Hibernate4.1.1的Demo实例

    **描述**:这个Demo实例深入浅出地展示了Hibernate 4.1.1版本的核心特性和使用方法。开发环境选择了Eclipse集成开发环境(IDE)和Java Development Kit(JDK)7,这为开发者提供了一个稳定且高效的开发平台。 **...

    hibernate源码release-4.1.4.Final版

    Hibernate提供了save()、update()、merge()和delete()方法来处理对象的持久化状态。其中,save()适合新对象的插入,update()用于已存在对象的更新,merge()则是合并当前对象状态到持久化对象,delete()则删除对象。 ...

    hibernate4使用JPA所需要的jar包

    5. 执行CRUD操作:使用实体管理器进行增删查改(Create, Read, Update, Delete)的操作,例如调用persist()、find()、merge()、remove()等方法。 6. 执行JPQL查询:利用JPQL(Java Persistence Query Language)编写...

    Hibernate学习文档集合

    它还涵盖了持久化对象的状态管理(瞬时态、持久态、游离态和删除态),以及Entity的save()、update()、merge()、delete()方法的具体使用场景。此外,还讲解了Criteria查询、HQL(Hibernate Query Language)和JPQL...

    Hibernate 框架测试版本

    这个“Hibernate 框架测试版本”包含了一个简化的示例,旨在帮助初学者了解并掌握Hibernate的基本用法。通过此测试项目,你可以学习到如何配置Hibernate、创建实体类、编写HQL语句以及执行CRUD(创建、读取、更新、...

    hibernate常见异常

    * 使用 session.merge(object),Hibernate 里面自带的方法,推荐使用。 了解 Hibernate 中的常见异常是非常重要的。通过了解这些异常的原因和解决方案,我们可以更好地使用 Hibernate,提高开发效率和质量。

    hibernate-5.2.15. 最新jar包

    在业务逻辑处理中,通常使用Session的beginTransaction、save/merge、flush和commit等方法来完成数据库操作。 3. **Query和Criteria API**:提供两种方式执行查询,一是HQL(Hibernate Query Language),类似于SQL...

    Hibernate语句

    接下来,我们将深入探讨Hibernate的方法使用,包括XML配置、Session管理和Criteria查询。 **一、Hibernate的XML配置** Hibernate的核心配置文件是`hibernate.cfg.xml`,它包含了数据库连接信息、实体类映射和...

Global site tag (gtag.js) - Google Analytics