`

Hibernate中的merge使用详情

 
阅读更多

merge的作用是:

新new一个对象,

如果该对象设置了ID,则这个对象就当作游离态处理:

当ID在数据库中不能找到时,用update的话肯定会报异常,然而用merge的话,就会insert。

当ID在数据库中能找到的时候,update与merge的执行效果都是更新数据,发出update语句;

如果没有设置ID的话,则这个对象就当作瞬态处理:

用update的话,由于没有ID,所以会报异常,merge此时则会保存数据,根据ID生产策略生成一条数据;

 

转载地址:http://developer.51cto.com/art/201205/336726.htm

分享到:
评论

相关推荐

    Hibernate中的merge使用详情解说

    Hibernate merge 使用详情解说 在 Hibernate 中,merge 方法是非常重要的一个方法,它能够帮助开发者轻松地处理数据的更新和插入操作。那么,merge 方法到底如何工作的呢?下面,我们将对 merge 方法进行详细的解释...

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

    - 在提供的示例中,我们看到当在不同的会话中使用`merge()`时,它如何处理游离态对象的更新。在第二个会话中,`merge(str1)`将游离态的`str1`对象的状态合并到由`session2.get()`获取的持久化对象`str2`中。这导致`...

    Hibernate save persist merge探究

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

    Hibernate merge、update与saveOrUpdate方法的区别

    - 使用`merge`方法,Hibernate会先查询数据库中是否存在相同的ID,如果不存在则插入一条新记录。 - 使用`update`方法,由于数据库中没有对应的记录,所以此方法将不起作用。 - 使用`saveOrUpdate`方法,如果ID不...

    hibernate源码 直接使用

    2. **持久化(Persistence)**: Hibernate负责将实体对象持久化到数据库中,通过@Persit、@Merge、@Remove等操作实现对象的生命周期管理。 3. **会话(Session)**: Hibernate的会话接口是与数据库进行交互的主要...

    hibernate中文文档 HTML格式

    3. 异步操作:通过使用Hibernate的异步API,可以在后台线程中执行数据库操作,不阻塞主线程。 4. 事件监听:可以注册监听器来响应特定的ORM事件,如对象的保存、更新或删除。 在“Hibernate中文文档 HTML格式”中,...

    Hibernate中文Api最新参考文档

    例如,使用`save()`或`saveOrUpdate()`方法保存实体,`load()`或`get()`方法获取实体,`update()`或`merge()`更新实体,以及`delete()`方法删除实体。 事务处理是数据库操作的重要部分,Hibernate通过`Transaction`...

    merge的注意事项

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

    hibernate_reference中文版和Hibernate中文手册

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

    session中merge和update的区别

    Hibernate中session的merge以及update方法

    Hibernate官方中文参考手册下载

    在开始使用Hibernate之前,需要将其依赖添加到项目中,通常是通过Maven或Gradle来管理。接着,配置hibernate.cfg.xml文件,指定数据库连接参数、方言、实体扫描路径等信息。 **3. 实体类与映射文件** 在Hibernate中...

    hibernate使用中与各种数据库字段类型对应类型训练

    9. **枚举类型**:在数据库中可以使用CHAR或INT存储,Hibernate通过`@Enumerated`注解支持枚举类型映射。 在实际应用中,我们还需要关注以下几点: - **级联操作**:如CascadeType.PERSIST、CascadeType.MERGE等,...

    Hibernate实战

    《Hibernate实战》这本书深入浅出地探讨了Java领域中广泛使用的对象关系映射框架——Hibernate。Hibernate是一个开源的ORM框架,它为Java开发者提供了一种高效、便捷的方式来管理数据库操作,消除了Java对象与SQL...

    Hibernate4中文帮助文档(中文教程)

    Hibernate 是一个开源的对象关系映射(ORM)框架,它允许Java开发者将数据库操作与对象模型进行松耦合,使得在Java应用中处理数据库变得更加简单。本教程基于Hibernate4,是IT技术人员精心翻译的中文帮助文档,旨在...

    hibernate3.6框架中文文档

    例如,使用save()或saveOrUpdate()方法插入数据,使用get()或load()方法加载数据,使用update()或merge()方法更新数据,使用delete()方法删除数据。 6. **HQL和Criteria查询**: Hibernate提供了自己的查询语言HQL,...

    Hibernate框架jia包

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

    Hibernate中对象的三种状态

    在Java的持久化框架Hibernate中,对象的状态管理是其核心特性之一。理解并掌握对象的三种状态对于开发高效、稳定的数据库应用至关重要。本篇将详细阐述Hibernate中的瞬时态、持久态和脱管态,以及它们之间的转换。 ...

    hibernate4使用JPA所需要的jar包

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

    hibernate中文帮助文档

    Hibernate是一款开源的对象关系映射(ORM)框架,它允许Java开发者在Java应用程序中使用对象模型,而无需直接操作SQL语句。这篇中文帮助文档将详细解释Hibernate的核心概念、配置、API使用以及最佳实践,旨在帮助...

    Hibernate中的实体状态及转换

    本文将深入探讨Hibernate中的实体状态及其转换,帮助开发者更好地掌握如何有效地使用Hibernate进行数据操作。 首先,我们要了解Hibernate定义的三种实体状态: 1. **临时状态(Transient)**:当我们在程序中通过`...

Global site tag (gtag.js) - Google Analytics