- 瞬时对象:在数据库中没有相应的记录,也没有被Hibernate的Session管理,会被JVM回收
- 持久对象:这个对象在数据库中,有相应的记录,被Session管理起来
- 瞬时对象:数据库中有相应的记录但没有被Session管理,可以被回收
对象的转换:
瞬时对象—>持久对象
- 瞬时对象经过Session的save()或saveOrUpdate()时会变成持久化对象
- 从数据库中get(),load()或iterator()得到的对象是持久对象
持久对象—>瞬时对象
- 持久对象调用Session的delete()方法后会变成瞬时对象
持久对象—>托管对象
- 持久对象调用Session的evict(),close(),clear()方法会转换成托管对象,Session不再管理但数据库中还有
托管对象—>持久对象
- 托管对象调用Session的update(),saveOrUpdate()方法
托管对象—>瞬时对象
- 托管对象调用Session的delete()方法
可以被回收的对象
- 瞬时对象
- 托管对象