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

Hibernate中的实体状态之个人体会

阅读更多
1.临时状态和游离状态都不在session的生命周期中.
 
2.临时状态:创建实例时是临时状态,不设置实体id或设置的id在表中找不到(delete操作)
 
3.游离状态(脱管状态):不在session的生命周期中,但实体id(持久化标识)与实际数据库中主键Id都存在且对 应.
 
4.持久化状态:在session的生命周期中,不仅实体id(持久化标识)与实际数据库中主键Id都存在且对应,并且与数据库中的表保持同步.
 
 
三种状态的转换:
 
临时-->游离  手动设置实体id与数据库中实体主键id对应
 
游离-->持久  在session生命周期中调用Hibernate Session的持久化方法save(),SaveOrUpdate()方法
 
临时-->持久  在session生命周期中调用Hibernate Session的持久化方法get(),load(),find(),iterate()方法
 
游离-->临时  在session关闭后,清除实体id属性的值或设置成表中不存在的主键Id
 
持久-->游离  关闭session,即使得不在session的生命周期中,可以调用evict(),close(),clear()
 
持久-->临时  在关闭session前,即session的生命周期结束前,从数据库中删除实体delete(),则关闭  session 后, 实体中即使得不在session的生命周期中.
分享到:
评论

相关推荐

    Hibernate中的实体状态及转换

    本文将深入探讨Hibernate中的实体状态及其转换,帮助开发者更好地掌握如何有效地使用Hibernate进行数据操作。 首先,我们要了解Hibernate定义的三种实体状态: 1. **临时状态(Transient)**:当我们在程序中通过`...

    hibernate生成实体类

    在软件开发过程中,ORM(对象关系映射)技术被广泛应用于数据库操作之中,它能够将数据库表结构与程序中的对象进行映射,极大地简化了数据访问层的编码工作。Hibernate作为一款优秀的ORM框架,在Java开发领域占据着...

    Hibernate_实体类_注解_说明

    Hibernate作为Java领域中流行的ORM(对象关系映射)框架,提供了丰富的注解来简化实体类与数据库表之间的映射。本文将深入解析一系列关键注解,帮助理解Hibernate如何实现这一过程。 #### 1. `@Entity`与`@Table` ...

    生成hibernate实体类

    本话题主要围绕如何根据数据库中的表生成Hibernate实体类进行展开。 首先,我们需要理解Hibernate实体类的作用。实体类是与数据库表对应的Java类,它们包含了表的字段和相关属性,以及由Hibernate提供的getter和...

    Hibernate实体层设计

    《Hibernate实体层设计》 在Java企业级应用开发中,持久化层的处理是一个至关重要的环节,而Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。本资料主要探讨的是如何利用Hibernate进行...

    hibernate实体生成工具

    Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者用面向对象的方式来处理数据库操作,而实体生成工具则是这个过程中不可或缺的一部分。 ### Hibernate概述 Hibernate是一种开源的Java ORM框架,它为...

    Hibernate实体映射

    在Hibernate中,实体映射是将Java对象模型与数据库表结构进行关联的过程。每个Java实体类通常代表数据库中的一个表,实体类的实例则对应表中的记录。这种映射通过Hibernate的配置文件(通常是hibernate.cfg.xml)和...

    hibernate中session对象的状态详解

    hibernate中session对象的状态详解

    hibernate操纵实体对象

    在这个主题“hibernate操纵实体对象”中,我们将探讨如何使用Hibernate来创建、更新、删除和查询数据库中的实体对象。 首先,`HibernateSessionFactory`是Hibernate的核心组件之一,它负责创建`Session`对象。`...

    自动生成hibernate映射文件和实体类

    然后,在 MyEclipse Datebase Explorer 中选中所有表,点击右键,选择 Hibernate Reverse Enginnering,选中目录存放将要反转出来的实体类查看是否选中 Update Hibernate configuration。如果没有自己勾选一下,下...

    Hibernate-tools解决hbm.xml中文注释乱码和生成实体类注释

    接着,通过命令行或者集成到构建工具(如Maven或Gradle)中运行`Hibernate-tools`,执行反编译数据库模式、生成实体类等任务。 4. **自定义模板** `Hibernate-tools`允许开发者自定义模板,以满足特定的代码风格和...

    hibernate 配置 实体生成

    实体生成是Hibernate中的一个重要环节,它允许开发者将数据库表映射为Java类,使得我们可以通过操作对象的方式来处理数据库数据,而无需直接编写SQL语句。本文将深入探讨Hibernate配置以及如何自动生成实体类。 1. ...

    OSGi、Spring、Hibernate集成:动态注册实体类

    统一管理SessionFactory,分散注册实体类。平台依赖度低的解决方案 ...其它用到的Bundle包括hibernate、hibernate-annotation、hsqldb、 spring、spring-osgi等。请到http://www.springsource.com/repository/下载。

    hibernate中文参考手册

    在Hibernate中,核心概念包括实体(Entities)、持久化类(Persistent Classes)、会话(Sessions)、事务(Transactions)和查询(Queries)。实体是应用程序中的业务对象,它们对应数据库中的表;持久化类是包含@...

    使用Hibernate逆向生成实体类的方法(注解和hbm.xml映射文件)

    - 对于通过hbm.xml生成的实体类,需要在hibernate.cfg.xml中添加相应的映射文件路径。 3. **测试连接**: - 运行测试程序,验证Hibernate是否能够正确读取映射信息并与数据库交互。 通过以上步骤,我们不仅能够...

    自主研发的Hibernate等实体生成工具,支持多数据库

    这个标题揭示了该软件工具的核心功能,即自动生成Hibernate实体以及与之相关的C#代码,同时具备支持多种数据库的能力。Hibernate是一个流行的Java对象关系映射(ORM)框架,它简化了数据库操作,通过将Java类映射到...

    Hibernate实体类生成器mysql版

    这款工具基于FreeMarker模板引擎,结合Java的Swing技术构建了可视化的用户界面,使得开发者能够快速地根据MySQL数据库中的表结构自动生成对应的Hibernate实体类。 首先,我们来了解下Hibernate,这是一个强大的对象...

    Myeclipse自动生成Hibernate配置文件及实体类映射ORM

    在这个示例中,我们将展示如何使用 Myeclipse 自动生成 Hibernate 配置文件及实体类映射 ORM 配置文件。 第一步骤:新建一个 Web 项目 在 Myeclipse 中,新建一个 Web 项目,名称随意。然后,点击菜单栏中的 ...

Global site tag (gtag.js) - Google Analytics