一.持久化对象的要求 1.提供一个无参的构造器:使Hibernate可以使用Constructor.newInstance() 来实例化持久化类. 2.提供一个标识属性(identifier property): 通常映射为数据库表的主键字段. 如果没有该属性,一些功能将不起作用,如:Session.saveOrUpdate(). 3.为类的持久化类字段声明访问方法(get/set): Hibernate对JavaBeans 风格的属性实行持久化. 4.使用非 final 类: 在运行时生成代理…
持久化对象有以下几种状态: 临时对象(Transient): 在使用代理主键的情况下,  OID 通常为 null  不处于 Session 的缓存中 在数据库中没有对应的记录 持久化对象(也叫”托管”)(Persist): OID 不为 null    位于 Session 缓存中  若在数据库中已经有和其对应的记录, 持久化对象和数据库中的相关记录对应  Session 在 flush 缓存时, 会根据持久化对象的属性变化, 来同步更新数据库   在同一个 Session 实例的缓存中, 数…
一.持久化对象的状态        站在持久化的角度, Hibernate 把对象分为 4种状态: 持久化状态,临时状态,游离状态,删除状态.Session 的特定方法能使对象从一个状态转换到另一个状态.   •临时对象(Transient): –在使用代理主键的情况下, OID 通常为null –不处于 Session的缓存中 –在数据库中没有对应的记录 •持久化对象(也叫"托管")(Persist): –OID 不为null –位于 Session缓存中 –若在数据库中已经有和其对…
近期公司里面用到了消息队列,而正如我们知道的是消息队列之间的是通过二进制形式的.以下就分享一下java中字节与对象之间的转换. 主要是用到了ByteArrayOutputStream和ObjectOutputStream两个输出流,以及ByteArrayInputStream和ObjectInputStream两个输入流. 废话不多说了,直接上代码吧! /** * @FileName: ByteToObject.java * @Package:com.test * @Description: T…
持久化对象有3种状态:1.持久化状态      2.临时状态      3.游离状态 Session 的特定方法能使对象从一个状态转换到另一个状态临时对象(transient)•    在使用代理主键的情况下, OID 通常为 null•    不处于 Session 的缓存中•    在数据库中没有对应的记录 持久化对象(也叫”托管”)(Persist)•    OID 不为 null•    位于 Session 缓存中•    持久化对象和数据库中的相关记录对应•    Session 在…
1. 站在持久化的角度 , Hibernate 把对象分为 4 种状态 : 持久化状态, 暂时状态, 游离状态(脱管状态) , 删除状态.Session 的特定方法能使对象从一个状态转换到还有一个状态 . 2. 暂时状态(Transient) :     1). 在使用代理主键的情况下 , OID 通常为 null     2). 不处于 Session 的缓存中     3). 在数据库中没有相应的记录 3. 持久化状态(也叫"托管" )( Persist)     1). OID …
1. 瞬态 : 对象有new操作符创建,且尚未与Hibernate Session关联的对象被认为处于瞬态.瞬态对象不会被持久化到数据库中,也不会被赋予持久化标识.如果程序中失去了瞬态对象的引用,瞬态对象将被垃圾回收几只销毁.使用Hibernate Session可以将其变为持久化状态. 2. 持久化:持久化实例在数据库中有对应的记录,并拥有一个持久化标识(identifier).持久化的实例可以是刚刚保存的,也可以是刚刚被加载的.无论哪一种,持久化对象都必须与指定的Hibernate Sess…
Hibernate中的实体对象可以分为三种状态:Transient(临时).Persistent(持久).Detached(游离) Transient 用new创建出对象,这些对象还没有与数据库发生任何的关系,不对应于数据库中的任一笔数据:Persistent 对象通过调用delete()方法,也成为Transient 的,例: Session session = sessions.openSession(); Transaction tx = session.beginTransaction(…
简介 以前学习Hibernate的笔记,整理一下便发出来了,防止弄丢.有错误的话麻烦各位留言评论,感激不尽. 持久化类 Hibernate完成了从面向对象模型表示的对象至关系模型表示的数据结构的映射,可以用面向对象的方式来处理数据库中记录.通过映射文件或注解,将持久化类映射为数据库中的表,而不需要继承任何类或者接口(即,低入侵式设计) - 但有几点最基本的要求: - 无参构造器 - 标识属性,最好使用基本类型的包装类 - 相应的getter/setter方法 瞬态 由new创建的对象且未与Ses…
通用excel与对象相互转换的工具类 前言:最近开发需要一个Excel批量导入或者导出的功能,之前用过poi-ooxml开发过一个导入的工具类,正好蹭着这次机会,把工具类的功能进行完善. 使用说明: (1)对象换成Excel,ExcelUtil#pojo2Excel():  最后生成一个输出流,可以用作文件生成或web中的上传下载 方法参数: * @param pojoList      对象数组 * @param out             输出流 * @param alias      …