Hibernate中持久化对象的三种状态

来源:互联网 发布:王克晶java百度百科 编辑:程序博客网 时间:2024/06/02 03:20

Hibernate中把需要持久化到数据库中的对象分为三种状态:

1. 瞬时态:没有和session关联过的数据

2. 持久态:Session对象关联的对象,当数据变化,关闭session前会同步到数据库

3. 脱管态:和session脱离关联的对象

 

Session的close,clear,evict,save方法:

Close:关闭session,清除一级缓存

Clear:只清除一级缓存

Evict:清除一级缓存的某个对象

Save:不是直接插入到数据库,而是根据策略先设置ID(一般会先查询),在提交的时候才会insert

 

Hibernate的缓存:

一级缓存:从数据库获取的数据对象或者已经保存到数据库的数据对象,在session关闭前会自动缓存在session的集合中。查找数据时,会先从一级缓存查找

阅读全文
0 0