Hibernate Session缓存概述

开发 后端
这里介绍Hibernate Session缓存被称为Hibernate的第一级缓存。SessionFactory的外置缓存称为Hibernate的二级缓存。这两个缓存都位于持久层,它们存放的都是数据库数据的拷贝。

Hibernate还是比较常用的,于是我研究了一下Hibernate Session缓存,在这里拿出来和大家分享一下,希望对大家有用。

java对象的属性(通常是一些集合类型的属性 )占用的内存空间。如果对象的占用的内存很大就称为重量级的对象。如果对象的内存小就称为轻量级的对象。

Hibernate Session缓存被称为Hibernate的***级缓存。SessionFactory的外置缓存称为Hibernate的二级缓存。这两个缓存都位于持久层,它们存放的都是数据库数据的拷贝。SessionFactory的内置缓存 存放元数据和预定义SQL, SessionFactory的内置缓存是只读缓存。

Hibernate Session缓存的三大作用:

1,减少数据库的访问频率,提高访问性能。

2,保证缓存中的对象与数据库同步,位于缓存中的对象称为持久化对象。

3,当持久化对象之间存在关联时,Session 保证不出现对象图的死锁。

Session 如何判断持久化对象的状态的改变呢?

Session 加载对象后会为对象值类型的属性复制一份快照。当Session 清理缓存时,比较当前对象和它的快照就可以知道那些属性发生了变化。

Session 什么时候清理缓存?

1,commit() 方法被调用时

2,查询时会清理缓存,保证查询结果能反映对象的***状态。

3,显示的调用session 的 flush方法。

session 清理缓存的特例:

当对象使用 native 生成器 时 会立刻清理缓存向数据库中插入记录。

【编辑推荐】

  1. 描述Hibernate检查id字段
  2. Hibernate Template简单描述
  3. Hibernate DetachedCriteria学习经验
  4. 概述Hibernate equals()方法
  5. Hibernate使用Person对象
责任编辑:佚名 来源: baidu
相关推荐

2009-09-29 16:04:29

Hibernate S

2009-06-29 08:48:41

Hibernate缓存

2009-09-25 13:51:13

Hibernate S

2009-09-27 14:53:38

Hibernate S

2009-09-24 17:24:20

Hibernate S

2009-09-23 09:47:23

Hibernate e

2009-09-21 17:55:14

Hibernate O

2009-09-25 16:27:33

Hibernate S

2009-09-23 17:18:16

Hibernate S

2009-09-25 09:46:03

Hibernate s

2009-09-25 10:53:40

Hibernate S

2009-09-22 10:09:21

Hibernate S

2009-09-28 12:57:54

Hibernate C

2009-09-22 15:10:22

Hibernate映射

2009-09-22 09:13:43

Hibernate D

2009-09-28 15:14:45

Hibernate S

2009-06-26 16:33:09

saveOrUpdatHibernate

2009-06-26 16:34:50

delete()方法Hibernate S

2009-06-12 16:00:13

Session方法Hibernate

2012-02-03 11:31:33

HibernateJava
点赞
收藏

51CTO技术栈公众号