`
xurichusheng
  • 浏览: 344899 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

hibernate的Session接口中方法的区别(2)_update() 和merge()

阅读更多

  update() 和merge()


         update()方法把游离对象加入当前Session缓存中,计划执行update语句。


         当update()方法关联一个游离对象时,如果session缓存中已经有一个同类型且ID相同的持久化对象,那么update()方法会抛出NonUniqueException异常.


         当update()方法关联一个持久化对象时,该方法不起作用。

          merge() 方法能够把游离对象的属性复制到一个持久化对象中。

分享到:
评论

相关推荐

    session中merge和update的区别

    Hibernate中session的merge以及update方法

    Hibernate merge、update与saveOrUpdate方法的区别

    在Hibernate框架中,`merge`、`update`与`saveOrUpdate`这三个方法都是用于更新或保存实体对象到数据库中的,但它们之间存在着重要的区别,这些区别主要体现在对实体状态的处理方式上。 #### 1. `merge` 方法 `...

    Hibernate 中文api文档下载.zip_API_Hibernate API _hibernate api

    通过Session的save()、persist()、update()、merge()和delete()方法,可以实现对象的持久化操作。 四、查询语言HQL Hibernate Query Language (HQL) 是一种面向对象的查询语言,类似于SQL,但更符合面向对象的思维...

    Hibernate的Session的javadoc

    Hibernate的Session接口是Java应用程序与Hibernate之间主要的运行时交互接口,它提供了对持久化对象的创建、读取和删除操作。Session的概念是基于对象的状态管理和数据库事务的,它的生命周期通常与一个物理事务绑定...

    Hibernate教程03_Hibernate核心开发接口介绍

    通过Session的save()、saveOrUpdate()、merge()和update()方法,可以改变对象的状态。 7. **缓存机制**: Hibernate内置了一级缓存和二级缓存。一级缓存是Session级别的,自动管理实体对象的缓存,提高性能。二级...

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

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

    hibernate--3.Hibernate数据持久化(通过 Session 操纵对象)

    总的来说,Hibernate的Session接口提供了一套完整的对象持久化和数据库操作机制,使得开发者能够以面向对象的方式处理数据,极大地提高了开发效率和代码的可读性。通过深入理解和熟练运用Session,可以轻松地在Java...

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

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

    Hibernate_3.2.0_Reference_zh_CN

    7. **实体生命周期**:探讨实体的生命周期状态(Transient、Persistent、Detached),理解它们之间的转换以及何时调用save()、update()、merge()和delete()方法。 8. **关联映射**:详细解析不同类型的关联映射,如...

    Hibernate update问题

    Hibernate通过Session接口的`update()`方法实现对象的更新。当你从数据库加载一个对象,修改其属性,然后调用`update()`方法,Hibernate会根据对象的状态自动执行相应的SQL UPDATE语句。然而,如果对象不在Session...

    hibernate session.doc

    总的来说,`Session`在Hibernate中扮演着至关重要的角色,`delete()`方法是它实现对象持久化操作的一部分,正确理解和使用这些方法对于高效地操作数据库至关重要。理解`Session`的工作原理,以及与`SessionFactory`...

    Hibernate Session 4种对象状态.docx

    如果对象的属性发生改变并希望更新到数据库,需要重新获得Session,并调用merge()或update()方法。 4. **删除状态(Removed State)**: 调用Session的remove()方法后,持久化对象会被标记为删除状态。这个对象的...

    hibernate_reference中文版和Hibernate中文手册

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

    hibernate_first_new项目源码

    - Session的save()、saveOrUpdate()、update()和merge()方法:分别用于持久化新对象、更新已有对象、检查对象状态并更新以及合并临时状态的对象。 - Session的get()和load()方法:用于根据主键获取对象,load()...

    merge的注意事项

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

    J2EE考试复习试题_struts2_spring_hibernate.doc

    - **Hibernate基本操作**:在Hibernate会话接口中,`delete`方法用于删除实体,`merge`方法用于合并实体,`beginTransaction`方法用于开始事务处理。 - **HQL查询创建**:通过`createQuery`方法创建HQL查询接口,`...

    Hibernate中get和load方法的区别以及close(),clear()、evict()等的区别

    在Hibernate框架中,Session是与数据库交互的主要接口,它提供了多种方法来操作对象的状态和数据。本文主要讨论了`get`、`load`方法以及`flush`、`clear`、`evict`等方法的区别。 首先,让我们关注`get`和`load`的...

    Hibernate之第2解之-hibernate_demo_1_annotation

    5. **CRUD操作**:使用Session的save(), persist(), update(), merge(), delete()方法实现创建、读取、更新和删除数据。 6. **HQL和 Criteria API**:Hibernate提供SQL的替代语法,如HQL(Hibernate Query Language...

    hibernate3.6框架中文文档

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

    hibernate中文文档 HTML格式

    例如,使用`save()`或`persist()`方法创建新对象,`load()`或`get()`方法读取对象,`update()`或`merge()`方法更新对象,以及`delete()`方法删除对象。 3. 查询语言(HQL):Hibernate查询语言,类似于SQL,但面向...

Global site tag (gtag.js) - Google Analytics