Hibernate中持久对象有三种状态:瞬时(transient)状态;持久化 (persistent) 状态;脱管(detached) 状态。持久对象的三种状态的转变依赖session对象上的操作进行。
上面提到Hibernate 中一个重要的类SESSION。作用相当于JDBC中CONNECTION对象。是执行持久化操作(crud)的主要类。当一个对象被持久化时,会被加到session缓存中。Session缓存的作用是减少数据库的访问频率,提高性能。正是由于其缓存的存在,在各个方法的差异中最大的不同就是处理缓存数据的方式不同。从而导致性能各异。理解HIBERNATE的工作原理,主要就是要理解其缓存工作机制,以及缓存与数据库的之间维护,从而能了解到其提供的各种操作方法上的区别。 下面描述了持久对象状态转化时操作方法: