Hibernate对象的状态

问题描述

Hibernate对象有那些状态,分别是怎样转换的,比如说,瞬时状态转为持久状态

解决方案

解决方案二:
临时状态:刚new的,不在session管理范围内,数据库中没有对应记录.持久化状态:已经被持久化了,并且当前在session的管理范围内,数据库中有相应的记录.删除状态:当前与一个session关联,但对象实例已经从session的缓存中被删除,在数据库中有相应的记录,session计划执行一条delete语句.游离状态:已经被持久化,但当前不在session的管理范围内,也就是当前不与任何session相关联
解决方案三:
瞬时状态转是刚new的时候,只要执行增、删、改、查等操作就可以持久状态,因为在内存中存在了,所以就有了持久状态!~~~~
解决方案四:
被hibernatesession管理的都是持久状态对象hibernatesession销毁时还有与持久对象有关系的是游离对象new的是瞬态
解决方案五:
瞬态:刚new出来对象的,没有与session相关联,修改对象中的类容,不会同步到数据中持久态:瞬态被持久化后,变为持久态,即与数据库中的记录对应(查询出来的某条数据也为持久态)。与当前session相关联,此时在seesion未关闭时修改其中的数据,会及时同步到数据库。游离状态:已经被持久化,但当前不在session的管理范围内,也就是当前不与任何session相关联,修改其中的数据,不会同步到数据库。也称为脏数据
解决方案六:
临时状态:刚new的,不在session管理范围内,数据库中没有对应记录.持久化状态:已经被持久化了,并且当前在session的管理范围内,数据库中有相应的记录.删除状态:当前与一个session关联,但对象实例已经从session的缓存中被删除,在数据库中有相应的记录,session计划执行一条delete语句.游离状态:已经被持久化,但当前不在session的管理范围内,也就是当前不与任何session相关联

时间: 2024-11-05 20:32:18

Hibernate对象的状态的相关文章

Hibernate(3)——实例总结Hibernate对象的状态和ThreadLoacl封闭的session

就可以让该方法的原子性得到保证. 4)由于3)的方式应用十分普遍,用spring AOP 对 service 层进行事务控制就更简单了,上面三行代码甚至都不必写.   注意:永远不在DAO的方法内做开启session.打开事务.提交事务.释放session这些事,一般来说这不是什么好习惯.一般交给Spring AOP 容器去做事务的管理.   能否不使用事务保存对象 Hibernate3.3为了提倡大家使用事务,把默认的setAutoCommit设为false,所以,不使用事务也可以实现对象保存

【HIBERNATE框架开发之五】HIBERNATE对象的三种状态&&SESSION的常用方法

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/hibernate/814.html  1. Hibernate对象的三种状态:(图解如下:)   如图所示,Hibernate对象有三种状态,1.Transient  2.Persistent 3.Detached; 三种状态的区别如下: 1. 当对象处于Transient时,只在内存中有一个对象,没ID,而且在缓存和数据库中没有: 2.

Hibernate中Session的缓存及对象的状态

对于session这个接口的学习可以说是最痛苦也是最复杂的,因为它所涉及的方面太多了,一些隐藏的机制也很多,谁让它是Central API呢. 对于它的几个最基本的方法如save().delete().flush()等的学习都花了我一定的时间.在深入了解这些这些方法前,了解session的缓存机制以及Hibernate中Java对象的状态对我们是很有帮助的. 一.Session的缓存 Java是纯面向对象的语言,因此不可能像C语言那样直接操纵内存,例如声明一段可用的内存空间.在Java里面,缓存

Java Hibernate对象(瞬时态,持久态,脱管态)详解_java

Java Hibernate对象            由于最近学习Java Hibernate,这里对Java Hibernate对象的几种状态进行了资料整理,  有兴趣的朋友可以看下. 瞬时(transient):数据库中没有数据与之对应,超过作用域会被JVM垃圾回收器回收,一般是new出来且与session没有关联的对象. 持久(persistent):数据库中有数据与之对应,当前与session有关联,并且相关联的session没有关闭,事务没有提交: 持久对象状态发生改变,在事务提交时

《Android游戏开发详解》一2.12 设置和访问对象的状态

2.12 设置和访问对象的状态 Android游戏开发详解现在,我们可以访问一个Phone对象了.myPhone表示使用Phone类(class)创建的一个单个的Phone对象(object).它是一个独立的实体,独立于我们将来可能使用蓝图(Phone类)创建的任何其他Phone对象.我们使用实例(instance)这个术语来描述这种现象. 为了更加具体地说明,让我们考虑一下,在工厂中批量生产智能手机的时候会发生什么情况.我们使用相同的蓝图来生产数以千计的设备,而且它们都是彼此独立的.它们可以有

《Android游戏开发详解》——第2章,第2.12节设置和访问对象的状态

2.12 设置和访问对象的状态Android游戏开发详解现在,我们可以访问一个Phone对象了.myPhone表示使用Phone类(class)创建的一个单个的Phone对象(object).它是一个独立的实体,独立于我们将来可能使用蓝图(Phone类)创建的任何其他Phone对象.我们使用实例(instance)这个术语来描述这种现象. 为了更加具体地说明,让我们考虑一下,在工厂中批量生产智能手机的时候会发生什么情况.我们使用相同的蓝图来生产数以千计的设备,而且它们都是彼此独立的.它们可以有自

hibernate 对象状态问题

问题描述 select出来的对象放在集合里,在从集合里取出来,对象是什么状态?可以直接set么? 解决方案 前两个回答的补充,fudan_ly的回答不完全正确,update的作用是马上触发这个更新.孙宁振的回答也不正确,确实是set引发的update,但是要到事务提交的时候才会触发update sql的执行.完整回答如下:假设你的代码是在一个事务中,取出的对象就是Hibernate的代理对象,一旦事务结束,Hibernate会判断当前的对象是否set过新的值,有的话就触发update语句,如果显

webservice+hibernate对象关系问题

问题描述 我用webservice调用接口,而接口中的数据读取是通过hibernate的要是一个对象的配用关联关系的时候,好比关联了一个外键集合,此时的在对对象进行检索的时候我会把外键中的内容也加载了就会包内存溢出的错误,而不配置关联关系的时候就没问题,希望有这方面经验的兄弟提醒下是哪里的问题 解决方案 解决方案二:没有办法帮到你.不好意思.

hibernate+spring mvc, 解决hibernate 对象懒加载 json序列化问题

引用地址 在使用Spring MVC时,@ResponseBody 注解的方法返回一个有懒加载对象的时候出现了异常,以登录为例:   Java代码   @RequestMapping("login")       @ResponseBody       public Object login(@RequestParam String username,@RequestParam String password){           List<User> list=user