Hibernate对象的状态和映射】的更多相关文章

一. Hibernate对象的状态 实体对象的三种状态: 1) 暂态(瞬时态)(Transient)---实体在内存中的自由存在,它与数据库的记录无关. po在DB中无记录(无副本),po和session无关(手工管理同步) 如:Customer customer = new Customer(): customer.setName("eric"): 这里的customer对象与数据库中的数据没有任何关联 2) 持久态(Persistent)---实体对象处于Hibernate框架的管…
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及的知识点总结如下: Hibernate的内部执行过程(CRUD) 对象的状态及其转换图和例子 使用JUnit测试 使用getCurrentSession代替openSession ThreadLoacl对象 享元模式 session.update(obj),为保证执行更新,推荐使用session.flush()刷新缓存; 1和2大概总结了Hibernate运行的技术原理,那么现在总结一下它自身的编写过程:如下: 其中本质上主要…
对象的状态: 临时状态Transient: 与数据库没有对应,跟Session没有关联 一般是新new出的对象 持久化状态Persistent: 对象在Session的管理之中,最终会有对应的数据库记录 特点: 1.有OID 2.对对象的修改会同步到数据库 游离状态Detached: 数据库中有对应记录,但对象不在Session管理之中 修改此状态对象时数据库不会有变化 删除状态Removed: 执行了delete()后的对象…
站在持久化的角度, Hibernate 把对象分为 4 种状态: 1. 持久化状态 2. 临时状态 3. 游离状态 4. 删除状态 Session 的特定方法能使对象从一个状态转换到另一个状态. 下面是各状态之间的转换图, 以及如何转换的: 准备工作: 1. 建立持久化类 Person类 package com.hibernate.entities; public class Person { private Integer id; private String name; private In…
Hibernate中的实体对象可以分为三种状态:Transient(临时).Persistent(持久).Detached(游离) Transient 用new创建出对象,这些对象还没有与数据库发生任何的关系,不对应于数据库中的任一笔数据:Persistent 对象通过调用delete()方法,也成为Transient 的,例: Session session = sessions.openSession(); Transaction tx = session.beginTransaction(…
瞬时状态:session中没有,数据库中没有 持久状态:session中有,数据库中有 游离状态:session中没有,数据库中有 get和load都是用来提取数据的 get和load的区别: get和load都会立即查询对象, get找不到对象时,返回null load找不到对象时,抛异常…
前面写了几篇关于SSH的博客,但不是Struts就是Spring,Hibernate还从来没写过呢.说好是SSH的,怎么可以光写那两个,而不写Hibernate呢对吧.今天就先说说Hibernate对象的三种状态,Hibernate对象有三种状态,分别是:临时态(Transient). 持久态(Persistent).游离态(Detached). 临时状态:是指从对象通过new语句创建到被持久化之前的状态,此时对象不在Session的缓存中. 处在此状态的对象具备以下特点: 1,不在Sessio…
回顾Hibernate第二天: 1.  一对多与多对一 2. 多对多 3. inverse/cascade 4. 关联关系的维护 一对多: <set name="映射的集合属性" table="(可选)集合属性对应的外键表"> <key column="外键表的,外键字段" /> <one-to-many class="集合元素的类型" /> </set> 多对一: <ma…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
hibernate对象的三种状态: (一) 瞬时(临时)状态:   对象被创建时的状态,数据库里面没有与之对应的记录! (二) 持久状态:   处于session的管理中,并且数据库里面存在与之对应的记录! (三) 游离状态:   对象不处于session的管理中,但是数据库里面存在与之对应的记录! 对象与session产生关系的时机:   1.save()或者saveorupdate(); 2.get()或者load(); 清空缓存:   1.clear();//清空所有加载的实例 2.evi…