在Hibernate中实体对象有三种状态:
1。Transient
暂存对象,指被创建出来但没有save()的对象的状态。
2。Persistent
对象与数据库中的数据有对应关系,并且与Session实例有关联而Session实例还没关闭时,对象的状态。
如何将Session实例关闭,则对象会由Persistent状态转换成Detached状态。
如果使用Session实例的Delete()方法删除数据,则对象会由Persistent状态转换成Transient状态。
3。Detached
对象已经持久化到数据库并且脱离Session实例管理的状态。
综上所述可以得出Hibernate实体对象的生命周期为:
界面到数据库:
创建实例(Transient状态) ->save实例(Persistent状态) ->关闭Session(Detached状态)
->Delete实例(Transient状态)