Hibernate对象有三种状态,分别是:瞬时/临时(Transient)、持久态(Persistent)、游离态(Detached)。
瞬时/临时状态:创建了一个对象,但是这个对象没有在session范围内,则称这个对象为瞬时/临时状态。
持久化状态:是指对象被持久化到Session对象被销毁之前的状态,此时对象在Session的缓存中。
处在此状态的对象具备以下特点:
1,在Session缓存中,与Session实例相关联。
2,在数据库中有与之对应的记录。
3,Session在清理缓存的时候,会根据持久化对象的属性变化更新数据库。(比如spring 在service层管理事务,在Dao层更新实体对象后,
hibernate不会立马去更新数据库,而是等程序执行完Service层后,Hibernate才会去更新数据库。)
游离状态:是指从持久化对象的Session对象被销毁到该对象消失之前的状态,此时对象不在Session的缓存中。