Hibernate持久化对象有三种状态:瞬时(transient)、持久(persistent)、托管(detached):
瞬时(transient):一般是new出来的对象,且没被session管理,数据库中没有数据与之对应,超过作用域会被JVM垃圾回收器回收。
持久(persistent):数据库中有数据与之对应,纳入session管理,且session没有关闭,没有清理缓存;持久对象状态发生改变时hibernate会有记录,在清理缓存时会同步到数据库。
脱管(detached):数据库中有与之对应的数据,但当前没有被session管理;托管对象状态发生改变,hibernate不能检测到。