实体对象三种状态.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hibernate中实体对象的生命周期--对象状态分类的详细说明?? 2011-04-19 19:27:33|??分类:  HYPERLINK /xuerdemei@126/blog/ \l m=0t=1c=fks_084064092094088070080086095095085082081069085080086065093 \o 以前 以前 |??标签: HYPERLINK /xuerdemei@126/blog/ \l m=0t=3c=session session?? HYPERLINK /xuerdemei@126/blog/ \l m=0t=3c=%E5%AF%B9%E8%B1%A1 对象?? HYPERLINK /xuerdemei@126/blog/ \l m=0t=3c=hibernate hibernate?? HYPERLINK /xuerdemei@126/blog/ \l m=0t=3c=%E7%8A%B6%E6%80%81 状态?? HYPERLINK /xuerdemei@126/blog/ \l m=0t=3c=%E5%A4%84%E4%BA%8E 处于?? |字号?订阅 hibernate中java对象的状态 《1》.临时状态-transient 特征: 《1.1》。不处于Session缓存中 《1.2》。数据库中没有对象记录 java如何进入临时状态 《1。3》通过new语句刚创建一个对象时 《1.4》当调用Session胡delete()方法时,从Session缓存中删除一个对象时。 ? 《2》持久化状态--persisted 特征: 《1.1》。处于Session缓存中 《1.2》。持久化对象数据库中设有对象记录 《1.3》。Session在特定时刻会保持二者同步 java如何进入持久化状态 《1.5》。Session的save()反临时---持久化状态 《1.6》。Session的load()或get()方法返回的对象 《1.7》。Session的find()返回的list集合中存放的对象 《1.8》。Session的update()或saveOrUpdate()使游离---持久化 ? 《3》游离状态---detached 特征: 《3.1》。不再位于Session缓存中 《3.2》。游离对象由持久化状态转变而来,数据库中可能 还有对应记录 java如何进入持久化状态---游离状态 《3.3》。Session的close()方法 《3.4》。Session的evict()方法,从缓存中删除一个对象。提高性能。少用。 ?  HYPERLINK /2009-06/1244085545122377.html /2009-06/1244085545122377.html ? 1.临时状态或瞬时态(transient):刚刚用new语句建立,还没有被持久化,不处于session缓存中。处于临时状态的java对象称之为临时对象。 由new命令开辟内存空间的java对象 所谓的transient状态,即实体对象在内存中微幅存在,与数据库中的记录无关,通过是我们的J2EE中VO,并没有被纳入hibernate的实体管理窗口中. eg: Test test=new Test(); test.setName(energykk); 此时 的test对象处于Transient状态,并没有被hibernate框架所管理 如果没有变量对该对象进行引用,它将被java虚拟回收 瞬时对象在内存孤立存在,它是携带信息的载体,不和数据库的数据有任何关联关系,在Hibernate中,可通过session的save()或saveOrUpdate()方法将瞬时对象与数据库相关联,并将数据对应的插入数据库中,此时该瞬时对象转变成持久化对象。 2.持久化对象(persistent):已经被持久化,加入到session的缓存中。处于持久化状态的java对象被称之为持久化对象。会被session自动同步。 即实体对象已经处于被hibernate实体管理容器所管理的状态,这种状态下这个实体对象的引用将被纳入hibernate实体管理容器所管理. 处于persistent状态的实体对象,对它 的变更也将被固化到数据库中 在J2EE中通常指的是一个PO 简单理解为: 如果一个实体对象与session发生了关联,并且处于session的有效期内,那么这个实体对象就处于persistent状态. eg: Transaction tr=session.beginTransaction(); session.save(test);//此时的test对象已经处于Persistent(持久状态)它被hibe

文档评论(0)

xuefei111 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档