`
sophia_230
  • 浏览: 120975 次
  • 性别: 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的生命周期中.
分享到:
评论

相关推荐

    jbpm学习笔记体会很深刻

    此外,jbpm使用Hibernate作为默认的ORM框架,因此熟悉Hibernate的使用也是很重要的。 jbpm的部署涉及到流程定义的打包和安装。通常,流程定义以.bpmn或.xml文件的形式存在,可以通过jbpm提供的工具或API进行部署。...

    javaweb课程设计-在线投稿系统.docx

    - **ER图**:实体关系图(Entity Relationship Diagram)用于描绘系统中的实体及其相互关系,如投稿人、稿件、审稿人、稿件状态等实体间的关联。 - **关系模式**:定义数据库中表的结构,包括字段名、数据类型、...

    东北大学软件学院实践考核类二 选课系统

    通过定义实体类和映射文件(hbm.xml),Hibernate自动将对象的状态转换为数据库记录,反之亦然。它提供了丰富的查询语言(HQL)和 Criteria API,使得数据库查询变得更为简洁和直观。 【标签】"东北大学 软件学院 实践...

    Java开发:J2EE OA 项目开发日记

    本项目开发日记详细记录了在实际开发过程中遇到的问题、解决方案以及心得体会,对于Java开发者尤其是J2EE方向的工程师来说,具有很高的参考价值。 1. **J2EE架构与组件** J2EE平台由一系列可互操作的组件构成,...

    javaweb课程设计_在线投稿系统方案.doc

    在完成项目后,小组成员可以分享个人收获,如团队协作的经验、技术应用的感悟、问题解决的方法等,这些经验对于个人成长和技术提升都有积极影响。 通过这个JavaWeb课程设计,学生不仅可以深入理解JavaWeb开发技术,...

    软件需求工程课设

    ### 软件需求工程知识点...- **学习体会**:在设计过程中遇到的各种问题和挑战,促使不断学习新知识,提高了解决问题的能力。 - **后续方向**:未来可以从提升用户体验、增加个性化推荐功能等方面进一步优化系统设计。

    网络聊天室系统设计与实现.docx

    - **实体类**:描述系统中的数据实体。 - **数据库操作 Dao 层**:处理与数据库交互的操作。 - **监听器**:监听系统的状态变化。 - **业务逻辑 Service 层**:处理业务逻辑。 - **工具箱 Utils**:提供通用的工具...

Global site tag (gtag.js) - Google Analytics