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

Hibernate - save,persist,update,saveOrUpate,merge

阅读更多

save - 保存对象


update  - 更新对象


saveOrUpdate - 根据对象是否持有主键,若有则执行更新,否则执行保存


merge - 根据对象是否持有主键,若有则执行更新,否则执行保存. 


merge 和saveOrUpdate对象的区别是:


1:如果session中有两个相同id的持久化对象时,必须用merge

2:不必考虑session的状态

3:保存前判断实体是否进行了实质性的更改,而saveOrUpdate不会判断直接覆盖原来记录


clear - 清空 session 中所有的缓存


evcit(object) - 把某个持久化对象从session缓存中清除

分享到:
评论

相关推荐

    hibernate-jar包

    例如,使用`save()`或`persist()`方法保存新对象,`update()`或`merge()`方法更新已存在的对象,`delete()`方法删除对象。 5. **查询语言**:Hibernate支持两种查询方式,一是HQL(Hibernate Query Language),...

    hibernate-demo02-crud.zip

    对象的修改在调用`Session`的`update()`或`merge()`方法后,会在提交事务时同步到数据库。`merge()`方法还可以用于将 detached(已脱离)状态的对象重新关联到当前会话。 10. **删(Delete)** 使用`Session`的`...

    hibernate-3[1].2.6.ga.zip

    - **CRUD操作**:支持创建(persist)、读取(load、get)、更新(merge、update)和删除(remove)对象。 - **关联映射**:处理一对一、一对多、多对一、多对多的关系映射,如@OneToOne、@OneToMany、@ManyToOne...

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

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

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

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

    hibernate 资源-1

    例如,通过Session对象,我们可以创建一个新对象,调用`save()`或`persist()`方法将其持久化到数据库;使用`load()`或`get()`方法获取已存在的实体;调用`update()`或`merge()`更新对象;最后,`delete()`方法用来...

    hibernate5--1.入门及核心API

    使用`Session`的`save()`或`persist()`方法可以保存实体到数据库: ```java User user = new User("Alice"); session.save(user); ``` #### 读取(Read) `get()`或`load()`用于根据主键获取实体,`query()`或`...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     8.4.1 Session的save()和persist()方法  8.4.2 Session的load()和get()方法  8.4.3 Session的update()方法  8.4.4 Session的saveOrUpdate()方法  8.4.5 Session的merge()方法  8.4.6 Session的delete()方法 ...

    Hibernate many-to-many

    常见的级联类型包括:SAVE_UPDATE、PERSIST、MERGE、REMOVE、ALL、ALL_DELETE_ORPHAN等。 在描述中提到了"jar包已经包含在里面了",这意味着这个压缩包可能包含了Hibernate库和其他必要的依赖,比如数据库驱动,以...

    hibernate3.1-Manual

    4. **对象操作**:如何通过Session对象进行CRUD(Create、Read、Update、Delete)操作,包括保存(save()和persist())、加载(get()和load())、更新(update()和merge())、删除(delete())等方法。 5. **查询...

    hibernate技术详解------------------

    Hibernate支持多种持久化方式,如save()、saveOrUpdate()、persist()、merge()和update()。它们分别对应不同的对象状态转换,确保数据正确地在内存和数据库之间同步。此外,Hibernate的事务管理功能确保了数据的一致...

    Hibernate中po对象的三种状态分析[借鉴].pdf

    - **saveOrUpdate()**:根据对象是否存在持久化标识来决定执行save()或update(),适用于不确定对象状态的情况。 - **merge()**:将脱管对象的状态合并到当前Session的持久化副本中,然后更新数据库。如果对象不...

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

    - saveOrUpdate():这是一个合并save()和update()功能的方法。如果对象是新的,它将执行INSERT,如果对象已经存在于数据库中,它将执行UPDATE。 - merge():此方法将游离对象的状态合并到持久化对象中,如果对象...

    hibernate学习笔记

    - `save()`和`persist()`:`save()`在事务中直接插入数据,而`persist()`仅标记对象为持久化,可能不会立即插入。 8. **对象状态** - **瞬时状态**:对象未与Session关联,数据库中无对应记录。 - **持久状态**...

    Hibernate语句

    3. `save() / persist()`: 保存或持久化对象到数据库。 4. `update() / merge()`: 更新已存在的数据库记录。 5. `delete()`: 删除数据库中的记录。 6. `commit()`: 提交事务,将所有操作写入数据库。 7. `flush()`: ...

    Hibernate视频教程免费下载

    - persist()方法:与save()类似,但更适用于延迟加载策略。 - **查询操作**: - HQL查询:使用类似于SQL的查询语言HQL(Hibernate Query Language),支持面向对象的语法结构。 - Criteria API:提供了一个类型...

    西安领航核心项目Hibernate部分重点、难点总结

    ### Persist、Save、Merge和Update方法的区别 - **Persist和Save**:两者相似,用于将瞬时对象变为持久化对象。 - **Merge和Update**:Merge可以将离线对象的状态合并到Session中,如果存在ID冲突,会更新原有对象...

    Hibernate三种状态区分

    - **persist()**:与 `save()` 类似,但不立即触发 SQL 插入,而是等到 Session 提交时才执行。 - **update()**:用于更新数据库中的记录,适用于脱管对象。 - **saveOrUpdate()**:根据对象的状态决定是插入还是...

    hibernate5.5.4

    例如,使用Session对象的save()或persist()方法可实现对象的持久化,而get()和load()用于查询,update()和merge()用于更新,delete()则用于删除。 4. **级联操作**: 在关联映射中,Hibernate允许级联操作,这意味着...

Global site tag (gtag.js) - Google Analytics