`
wangshiyang
  • 浏览: 69377 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

对象的三种状态

 
阅读更多

在hibernate中的对象有三种状态,异同比较

(关键在于:有没有id,id在数据库中有没有,在内存中有没有【Session缓存】)

Transient: new出来的新对象,没有id
(内存中的对象,没有id,缓存没有)


Persistent:Transient对象save后有id了,保存后的对象
(内存中有,缓存中有,有id,数据库有)


Detached:session关闭后的对象
(内存有,缓存(Session)没有,数据库有,有id)

例子(我用的是bbs的版块对象:id,标题)

/**
* Transient: new出来的新对象,没有id
*/


Dbforum f = new Dbforum();
f.setFname("感情世界");


Session s = sessionFactory.openSession();
s.save(f);
/**
* Persistent:Transient对象save后有id了,保存后的对象
*/
System.out.println(f.getFid());
s.beginTransaction().commit();


/**
* Detached:session关闭后的对象
*/

System.out.println(f.getFid());

hibernate二级缓存的配置(其中的一种)


1、hibernate.cfg.xml

<property name="cache.use_second_level_cache">true</property>
<property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>

2、导入jar包

hibernate自带的缓存接口
Apache的Commons logging 日志文件

3、pojo配置(我用的Annotation注释)
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)

分享到:
评论

相关推荐

    hibernate对象三种状态

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

    Hibernate 对象的三种状态和特点

    以下是Hibernate对象的三种主要状态及其特点: 1) 临时状态(Transient State): 当通过`new`关键字创建一个新的对象时,该对象处于临时状态。在这个状态下,对象并未与任何Session关联,因此它的变化不会自动反映...

    Hibernate中对象的三种状态

    理解并掌握对象的三种状态对于开发高效、稳定的数据库应用至关重要。本篇将详细阐述Hibernate中的瞬时态、持久态和脱管态,以及它们之间的转换。 1. 瞬时态(Transient): 瞬时态的对象是在内存中创建的,尚未与...

    05_传智播客hibernate教程_实体对象的三种状态与saveOrUpdate方法

    在本教程中,我们将深入探讨实体对象的三种状态以及`saveOrUpdate`方法的工作原理。 首先,让我们了解实体对象的三种状态: 1. **瞬时状态(Transient)**:当一个新的实体对象在内存中创建,但尚未被Hibernate...

    域对象在持久化层的状态

    域对象,通常指业务逻辑中的实体类,它们在持久化层中主要存在三种状态:临时状态、持久化状态和游离状态。每种状态都代表了对象与持久化框架(如Hibernate)之间的不同关系,进而影响着对象的生命周期管理和数据库...

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

    以下是关于Hibernate中对象的三种状态以及保存方法的详细分析: 1. **对象的三种状态** - **瞬态(Transient)**:对象刚被创建,尚未与任何Session关联,不具备持久化能力。对瞬态对象的修改不会自动同步到数据库...

    按钮的三种状态(普通、聚焦、按下)

    本主题将深入探讨按钮的三种基本状态:普通、聚焦和按下,并以一种简单的方式来实现这些状态的变化,主要利用定时器和CBitmap函数。 首先,让我们了解这三种状态的含义: 1. **普通状态**:这是按钮的默认状态,当...

    Hibernate三种状态

    Hibernate对象有三种状态:瞬时状态(Transient)、持久状态(Persistent)和脱管状态(Detached)。理解这些状态对于优化数据操作和避免潜在的问题至关重要。 首先,瞬时状态(Transient)是指通过new关键字创建的...

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

    1. Hibernate对象的三种状态: - Transient(瞬态):这是对象的初始状态,对象在内存中独立存在,没有与任何Session关联,也没有持久化标识,即没有与数据库中的记录对应。对瞬态对象的修改不会自动同步到数据库。...

    C#实现treeview节点三种选择状态

    本文将详细介绍如何在C#中实现TreeView节点的三种选择状态:全选、未选和半选。 首先,我们需要理解TreeView控件的基本操作。每个TreeNode对象代表树中的一个节点,它有子节点(Child Nodes)和一个父节点(Parent ...

    Hibernate三种状态区分

    在 Hibernate 中,对象有三种不同的状态,这些状态决定了对象与数据库之间的关联程度以及如何进行数据操作。理解这些状态对于有效地使用 Hibernate 至关重要。 1. **瞬时态(Transient)**: - 瞬时态的对象是刚刚...

    Hibernate 三种状态

    在 Hibernate 中,对象的状态管理是其核心特性之一,主要包括三种状态:瞬时状态(Transient)、持久化状态(Persistent)以及游离状态(Detached)。本文将详细阐述这三种状态的特点及其转换机制。 #### 二、瞬时...

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

    浅谈Java实体对象的三种状态以及转换关系 Java实体对象的三种状态是指在Hibernate框架中,实体对象在生命周期中所经历的三个阶段,即瞬时态、持久态和游离态。 瞬时态(New or Transient):当创建一个新的实体...

    一种基于分支条件的对象状态机自动提取方法

    **对象状态机(Object State Machine, OSM)**是一种用于描述面向对象系统中单个对象在其生命周期内状态变化及相应行为的模型。它不仅可以清晰地表示出对象的状态变迁过程,还可以帮助识别对象在不同状态下所允许的...

    hibernate对象三状态及OneToOne&OneToMany&ManyToMany

    本篇将详细阐述Hibernate中的对象三状态、一对一(OneToOne)、一对多(OneToMany)以及多对多(ManyToMany)关系映射。 一、Hibernate对象三状态 1. 游离态(Detached):对象在应用程序中创建,但尚未与Session...

    JPA学习笔记-EJB-05JPA实体对象状态和实体对象的高级操作

    根据实体对象与实体管理器(EntityManager)之间的交互关系,实体对象可以处于以下几种状态: 1. **瞬时状态(Transient State)** 当一个实体对象刚刚被创建出来但还未被实体管理器管理时,它处于瞬时状态。此时...

    Hibernate Session 4种对象状态.docx

    Hibernate将对象的状态划分为四种:临时状态、持久化状态、游离状态和删除状态。这些状态反映了对象与数据库记录之间的关系,有助于理解Hibernate如何管理和操作数据。 1. **临时状态(Transient State)**: 当一...

    TreeView的CheckBoxs的第三种状态(有部分子结点被选中)

    在这些复选框中,通常存在三种可能的状态:未选中、选中以及部分选中。本篇文章将深入探讨`TreeView`控件中复选框的第三种状态——部分子节点被选中的实现和应用场景。 首先,我们需要理解`TreeView`控件的基本操作...

    Hibernate对象持久化状态

    本篇文章将详细阐述 Hibernate 中对象的三种状态——临时状态、持久化状态和游离状态,以及 Session 缓存的工作原理。 1. Session 缓存及作用 Session 是 Hibernate 提供的一个接口,它充当了应用程序与数据库之间...

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

    以下是 Hibernate 中对象的三种状态以及相关的保存方法: 1. **瞬时对象(Transient Objects)** - 当使用 `new` 关键字创建一个对象时,它处于瞬时状态。这种状态的对象与数据库中的任何记录没有关联,只存在于...

Global site tag (gtag.js) - Google Analytics