Hibernate之缓存

缓存:为了减少应用程序同物理存储介质的频繁交互。

HIBERNATE的缓存分为一级, 二级,按存储范围分为: SESSION, PROCESS, CLUSTER级别, 依次的存储方式为:关联的对象, 关联对象 + 散数据, 散数据, 第三中速度太慢, 几乎不用。。。

缓存的两个问题:life cycle and concurrent。 一级缓存不存在并发问题, 二级缓存为third party product, it can control class level storage, that means it can decide which class you the secondary storage, 由 第三方工具来控制并发册率, 满足CATCH PROVIDER 接口,  他是进程范围的, 即 sessionfactory,sessionfactory 的内置 缓存存放了映射元数据 和 推测出的SQL语句, 他与一, 二级缓存不同, 后者是数据库内实体的影射

posted on 2006-08-29 20:51 Sheldon Sun 阅读(211) 评论(1)  编辑  收藏

评论

# re: Hibernate之缓存 2006-08-30 08:31 Sheldon Sun

不能进行批量更新和删除: UPDATE AGE = AGE +1 FROM PERSON WHERE AGE >20

则其会取出所有满足条件的PERSON的信息, 然后每条进行一次更新操作, 执行很多SELECT语句。DeleteK语句也是一样。

解决缓存方法一:For every query string, after executing, call session flush() to run sql, and session evict( object) to delete it from storage.

method 2: use SQL instead batch update and delete, best choice.   回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年5月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

常用链接

留言簿(3)

随笔档案

文章档案

搜索

最新评论

阅读排行榜

评论排行榜