初学Hibernate持久化

hibernate三种持久化对象状态:(持久化对象:Persistent Object=POJO + hbm映射)

1、瞬时状态(临时状态或自由态):PO对象刚创建(即new)开始进入瞬时状态,此时对象并无OID;

2、持久化状态:执行了session.save()之后,PO对象就在session管理范围内了

3、游离状态(脱管状态):session.close()后,PO对象不受session管理,PO有OID(在session.save()后就有OID了);

区分PO对象状态

1、判断它们是否在session管理范围内,如果在就是持久化状态;如果不在,可能是瞬时状态,也可能是游离状态。

2、区分瞬时状态和游离状态,通过是否具有oid(对象中与数据库主键映射属性,如Customer类的id属性)来判断。

状态切换:

原文地址:https://www.cnblogs.com/hujiapeng/p/4734000.html