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属性)来判断。
状态切换: