hibernate学习笔记之对象的三种状态

hibernate学习笔记之对象的三种状态

假设: Student 有4个属性 Id、Name、Title、BirthDate             id为自增

  1、 new Student 对象   然后 set     Name、Title、BirthDate 这三个属性的值。

   这时状态为 Transient(内存中有、session缓存中没有、没有id)

  2、save(student)   

这时状态为 Persistent(内存中有;缓存中有[session里面有个map,key为自动生成的id、value存的是对象的引用,此时会给student对象的id赋值];数据库中有)   这里是一级缓存,close以后里面的数据就没了,如果数据经常被查看且不需要经常修改,可以使用二级缓存。

  3、close

这时状态为Detached(内存中有;缓存没有(session被断开);数据库中有;id有)