`
prodream
  • 浏览: 106269 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Hibernate各种操作方式的区别(persite,save,merge,update

阅读更多

捡重点说

 

1.updat与merge

 

   如果你确定当前session没有包含与之具有相同持久化标识的持久实例,使用update()

   如果想随时合并你的的改动而不考虑session的状态,使用merge()

   就是说当令一个session也持有该持久实例的时候,你不可以使用update()来更新。

 

   使用merge()后,其他session中的这个持久实例也随着更新了。还有就是merge()方法,会根据根据对象是否进行了实质性修改,来决定是否执行相应的update/delete/update语句,而upate()则不会进行比较,只用给定的对象信息覆盖原有信息 

 

2

分享到:
评论

相关推荐

    Hibernate merge、update与saveOrUpdate方法的区别

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

    save, saveOrUpdate, persist, merge, update 区别.docx

    在Java的持久化框架Hibernate中,管理对象与数据库之间的交互是通过一系列的方法完成的,其中包括`save()`, `saveOrUpdate()`, `persist()`, `merge()`, 和 `update()`。这些方法各有其特点和适用场景,理解它们的...

    hibernate的各种保存方式的区别

    ### Hibernate的各种保存方式的区别 #### 一、预知知识点:Hibernate中的对象状态 在深入了解Hibernate中各种保存方式之前,我们先来了解一下Hibernate中对象的状态,这对于理解这些保存方式至关重要。 - **瞬时...

    Hibernate的各种保存方式的区别详解

    Hibernate提供了多种保存方式,包括save()、persist()、update()、saveOrUpdate()等,了解这些方法的区别非常重要,以便正确使用它们。本文将对Hibernate的各种保存方式进行详细的比较和分析。 一、预备知识 在...

    Hibernate_级联关系说明_-_关于cascade和inverse的用法

    @org.hibernate.annotations.Cascade({org.hibernate.annotations.CascadeType.SAVE_UPDATE}) private User user; ``` 在上面的例子中,我们设置了`inverse=true`,这意味着 `Address` 实体不再负责维护与 `User` ...

    hibernate各种常用方法的详解

    本文将详细介绍 Hibernate 中常用的几种方法,包括 `save`, `update`, `saveOrUpdate`, `merge` 等,帮助开发者更深入地理解 Hibernate 的工作原理及其使用方式。 #### 二、Hibernate 对象状态管理 在 Hibernate ...

    hibernate的各种保存方式的区别以及hibernate对象的三种状态[定义].pdf

    3. save()和update()的区别: - save()主要用于保存新对象,如果对象已经存在持久化标识,那么它会更新对应记录。 - update()用于更新已存在于数据库中的对象,对象必须是持久化或游离状态。 4. update()和...

    merge的注意事项

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

    Hibernate 框架测试版本

    Hibernate 是一个开源的对象关系映射(ORM)框架,它为Java开发人员提供了一种方便的方式来操作数据库。这个“Hibernate 框架测试版本”包含了一个简化的示例,旨在帮助初学者了解并掌握Hibernate的基本用法。通过此...

    Hibernate对象状态以及各种保存方法的区别

    Hibernate 是一个流行的 Java 开发框架,用于简化数据库操作。它提供了对象关系映射(ORM)功能,使得开发者可以用面向对象的方式来处理数据库。在 Hibernate 中,对象的状态管理是至关重要的,因为它直接影响到对象...

    Hibernate实战

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

    Hibernate学习文档集合

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

    Hibernate框架jia包

    Hibernate是一个开源的ORM框架,它提供了一种在Java应用中持久化数据到关系数据库的方式,通过将Java对象映射到数据库表,实现了对象和SQL的解耦,使得开发者可以更加专注于业务逻辑而不是繁琐的数据库操作。...

    hibernate源码release-4.1.4.Final版

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

    Hibernate三种状态区分

    Hibernate 是一个流行的 Java ORM(对象关系映射)框架,它允许开发者以面向对象的方式操作数据库。在 Hibernate 中,对象有三种不同的状态,这些状态决定了对象与数据库之间的关联程度以及如何进行数据操作。理解...

    hibernate_reference中文版和Hibernate中文手册

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

    HIbernate免注解实现操作数据库 及Hibernate3连接SQL的BUG解决办法

    例如,通过`save()`或`saveOrUpdate()`方法保存实体,`get()`或`load()`方法获取实体,`update()`更新实体,`delete()`删除实体。 6. **事务管理**: 数据库操作通常需要在事务中进行,使用Session的`begin...

    HibernateDemo(hibernate基本用法演示)

    - **更新(Update)**:修改实体后调用 `update()` 或 `merge()` 更新数据库中的记录。 - **删除(Delete)**:使用 `delete()` 方法移除实体。 5. **事务管理**:在数据库操作中使用 `Transaction` 对象进行事务...

    hibernate增删改查和动态sql

    - **更新(Update):** 使用`Session.update()`或`Session.merge()`更新已存在的实体。 - **删除(Delete):** `Session.delete()`方法用于从数据库中移除对象。 3. **HQL(Hibernate Query Language):** 是...

    Hibernate之API初识及增删改查实现案例hibernate003

    在Java开发中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,提供了对象关系映射(ORM)功能,使得开发者可以使用面向对象的方式来处理数据库。本案例将介绍Hibernate的API基础,并通过具体的操作来...

Global site tag (gtag.js) - Google Analytics