Hibernate实体对象的三种状态
Hibernate实体对象的三种状态
?
? ? ? ?实体对象的生命周期,是Hibernate应用中的一个关键概念。实体对象生命周期的三种状态如下:
?
? ? ? ?1.Transient(自由状态)
? ? ? ? ? ?所谓Transient,即实体对象在内存中的自由存在,它与数据库中的记录无关。如:
?
Transaction tx = session.beginTransaction(); session.save(user); //此时user对象已经由Hibernate纳入实体管理容器,处于Persistent状态 tx.commit();//事务提交之后,库表中已经插入一条用户 tx2.commit() ; session. close() ; //user对象此时状态为Detached,因为与其关联的session已经关闭
?
? ? ? 那么,Detached状态与Transient状态有什么区别?
? ? ? 区别就在于Detached对象可以再次与某个Session实例相关联而成Persistent对象。