`

Hibernate的游离态与持久态转换(转)

 
阅读更多

本文转自:http://blog.csdn.net/sdbany/article/details/2257591

在Hibernate中,一个PO可能经过长时间的操作,session已过时关闭,此时PO已经是一个游离态的对象,这时要转换为持久战态,有以下几种方法:

1、session.saveOrUpdate(object)。这语句会把游离态的PO转为持久态的PO并提交给数据库

2、session.merge(object)。这语句会把游离态的PO转为持久态的PO,并进行合并操作。

3、session.lock(object, LockMode.NONE)。这语句只会把游离态的PO转为持久态PO,不作其他操作。不过,PO必须是没有修改过的,这方法挺适合做一个应用层

分享到:
评论
1 楼 安静听歌 2016-08-10  
怎样转为游离态

相关推荐

    hibernate对象三种状态

    在Java的持久化框架Hibernate中,对象存在三种不同的状态,分别是持久态(Persistent)、自由态(Transient)和游离态(Detached)。这三种状态分别对应了对象与数据库的关联程度,理解它们对于高效地使用Hibernate...

    精通Hibernate:Java持久化对象技术详解[第二版]

    8. **实体生命周期**:详解Hibernate对对象状态的管理,包括瞬时态、持久态、游离态和脱管态,以及对象状态转换和事件监听器。 9. **多态和继承映射**:讲解如何处理类的继承关系,实现多态查询,包括单表继承、...

    hibernate三态详解.doc

    对象在 Hibernate 中可以处于三种状态:临时状态(Transient)、持久化状态(Persistent)和游离状态(Detached)。理解这些状态对于有效使用 Hibernate 进行数据操作至关重要。 1. 临时状态(Transient): 当...

    Hibernate 面试题

    1. **持久化对象的生命周期**:在Hibernate中,对象经历了临时态、持久态和游离态三个状态。临时态的对象没有与Session关联,数据未保存到数据库;持久态对象已与Session绑定,其状态会随Session的提交而保存到...

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

    在Java的ORM框架Hibernate中,`merge()`是一个非常重要的操作,它主要用于将游离态或瞬态的对象合并到持久化状态。理解`merge()`的工作原理对于优化数据操作和避免潜在的冲突至关重要。以下是对`merge()`函数的详细...

    hibernate三状态

    - **游离态 -> 持久态**:通过Session的merge()、update()或saveOrUpdate()方法,可以将游离态对象重新与Session关联,成为持久态。 - **游离态 -> 瞬时态**:如果游离态对象的ID不再被引用,那么对象就可能变为瞬...

    hibernate 3.6 中文 chm

    9. **实体生命周期**:Hibernate管理对象的生命周期,包括瞬时态、持久态、托管态和游离态。理解这些状态转换有助于避免编程陷阱。 10. **一对多、多对一、一对一和多对多关系映射**:Hibernate支持多种关联映射,...

    三大框架之一Hibernate 介绍

    5. **对象状态**:Hibernate中的对象有三种状态——临时态、持久态和游离态。临时态的对象不在Session缓存中,数据库中也没有记录。持久态的对象存在于Session缓存中,与数据库记录保持同步。游离态的对象是从...

    精通hibernate源码ch4

    在Hibernate中,一个Java对象被持久化后,其状态可以是持久态(Persistent)、临时态(Transient)或游离态(Detached)。理解这些状态转换是掌握Hibernate对象持久化的基础。 二、Entity和持久化类 在Hibernate中...

    hibernate-符合Java习惯的关系数据库持久化

    9. **生命周期:** Hibernate对象有瞬时态、持久态、托管态和游离态四种状态,理解这些状态对于正确使用Hibernate至关重要。 10. ** Hibenate事件和监听器:** Hibernate提供了一套事件系统,允许用户在特定操作...

    Hibernate选择题(含答案).doc

    7. Hibernate中,对象的状态包括:暂时态、持久态、游离态和脱管态(会话态是不常用的术语,实际上指的是持久态)。其中,持久态对象与Session有关系,Session会缓存这些对象并负责其变化同步至数据库。 8. 持久态...

    hibernate源码

    Hibernate定义了实体的几种状态:瞬时态、持久态、游离态和删除态。通过不同的状态转换,Hibernate实现了对象的生命周期管理,如持久化对象的持久化、检索、更新和删除。 九、实体关系映射 Hibernate支持多种关系...

    Hibernate学习文档集合

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

    hibernate3基础教程中文版及源码

    11. **实体的生命周期**:了解Hibernate中持久化对象的四种状态(瞬时态、托管态、持久态、游离态)及其转换。 12. **性能优化**:探讨如何优化Hibernate的使用,如批处理、连接池配置、缓存策略调整等,以提升应用...

    Hibernate4的一些总结

    9. **实体状态与生命周期**:阐述Hibernate4中实体的四种状态(瞬时态、持久态、托管态和游离态)及其转换。 10. **性能优化**:提供一些优化Hibernate4性能的建议,如批处理、预加载、二级缓存的合理使用等。 ...

    hibernate 学习笔记3

    描述:本篇笔记深入探讨了Hibernate框架中一对多关系的映射及持久化对象状态管理,结合个人理解与实践经验,旨在为读者提供一份详实的学习资料。 ### 一、一对多关系映射详解 在Hibernate框架中,一对多关系是一种...

    浅谈Java实体对象的三种状态以及转换关系

    在Hibernate中,实体对象的状态转换关系是:瞬时态 -> 持久态(通过Session的save()、saveOrUpdate()、persist()、merge()方法) -> 游离态(通过Session的close()、clear()、evict()或flush()方法)-> 移除态(通过...

    hibernate小结

    当Session关闭时,持久态对象变为游离态。对游离态对象的修改,需要重新关联Session并调用update()方法才能更新数据库;对瞬态对象直接调用update()会抛出异常,因为它没有ID。 【特殊情况】 1. 对于游离态对象,...

    hibernate全套学习课件ppt

    13. **实体生命周期**:Hibernate定义了几个关键的生命周期状态,如瞬时态、持久态、游离态和脱管态,理解这些状态有助于更好地管理对象。 本套课件详细讲解了上述知识点,并可能包含实际案例和练习,是学习...

Global site tag (gtag.js) - Google Analytics