Hibernate对象的状态和生命周期
Hibernate 生命周期有3个状态:
瞬时====save()/update()====》持久态
持久态====delete()====》瞬时
持久态====evict()/close()/clear()=====》游离
游离====update()/save()/lock()====》持久态
po====get()/load()====》持久态
1.Transient(瞬时)
(1) 使用new初始化的对象不是立刻就持久化的
(2)跟session没有任何关系
(3)跟数据库没有任何关系,数据库没有对应的记录。
2.Persist(持久态)
(1)和session 对象有关 ,以map的形式存入的session
(2)数据库中有相应的记录
3.Datached(游离)
(1)和session对象无关
(2)在数据库中有对应的记录。
get()方法根据id的记录查找,如果没有返回null.
查找顺序:session一级缓存----->session二级缓存------>数据库
load()方法也是通过id,一般在我们可以保证这个记录存在的情况中使用。(懒加载)
浙公网安备 33010602011771号