Hibernate @Cache注解
来源:互联网 发布:linux系统当前版本 编辑:程序博客网 时间:2024/06/05 19:49
参考文章:
http://www.jianshu.com/p/6f357c4cc0f7 (Hibernate @Cache 注解)
@Cache 定义了二级缓存策略和缓存范围
一、属性
1:usage: 当前缓存策略(NONE, READ_ONLY, NONSTRICT_READ_WRITE, TRANSACTIONAL)。
(1)read-only: 只读缓存
如果你的应用程序只需读取一个持久化类的实例,而无需对其修改, 那么就可以对其进行只读缓存
(2)read-write: 读写缓存
如果应用程序需要更新数据,那么使用读/写缓存比较合适。 如果应用程序要求“序列化事务”的隔离级别(serializable transaction isolation level),那么就决不能使用这种缓存策略
(3)nonstrict-read-write: 不严格读写缓存
如果应用程序只偶尔需要更新数据(也就是说,两个事务同时更新同一记录的情况很不常见),也不需要十分严格的事务隔离,那么比较适合使用非严格读/写缓存策略。
(4)transactional :事务性缓存
Hibernate 的事务缓存策略提供了全事务的缓存支持,例如对 JBoss TreeCache 的支持。这样的缓存只能用于 JTA 环境中,你必须指定为其hibernate.transaction.manager_lookup_class属性。
2:region: 可选参数,指定二级缓存的去域名,默认为类或者集合的名字。
3:include: 可选参数(all, non-lazy)。all包含所有属性,non-lazy仅包含非延迟加载的属性。
二、缓存实例
1:缓存实体
@Table(name = "PROVICE")@Cache(usage =CacheConcurrencyStrategy.READ_ONLY)public class Province() {...}2:缓存集合
@Table(name = "PROVICE")@Cache(usage =CacheConcurrencyStrategy.READ_ONLY)public class Province() {//省份对象 @OneToMany(fetch = FetchType.LAZY) @JoinColumn(name = "cityId") @Cache(usage = CacheConcrrencyStrategy.READ_ONLY) private Set<City> cities; //省份对应城市}
此时在访问province.cities时,Hibernate 只缓存了city的OID,因此在实际查询过程中还是需要执行
select * from city where cityid = ?为了避免该问题,可以为City对象同样配置二级缓存
@Table(name = "CITY")@Cache(usage =CacheConcurrencyStrategy.READ_ONLY)public class City() {//城市对象...}
- hibernate 二级缓存 @cache注解
- Hibernate @Cache注解
- Hibernate @Cache注解
- Cache注解
- hibernate cache
- hibernate cache
- Hibernate cache
- Hibernate Cache
- 【Hibernate】hibernate的cache
- Spring3.1 Cache注解
- Spring3.1 Cache注解
- Spring3.1 Cache注解
- Spring3.1 Cache注解
- Spring3.1 Cache注解
- Spring3.1 Cache注解
- Spring3.1 Cache注解
- Spring3.1 Cache注解
- Spring3.1 Cache注解
- MyBatis 多表联合查询及优化
- dfs序
- git的实际操作指令总结
- 在 Angularjs 中 ui-sref 和 $state.go 如何传递参数
- Mongodb的集合插入一个字段
- Hibernate @Cache注解
- 欢迎使用CSDN-markdown编辑器
- 时间管理的“青蛙法则”
- java.lang.IllegalArgumentException: An invalid domain [.x.com] was specified for this cookie
- AndFix热修复 —— 实战与源码解析
- 使用nodemon让node自动重启
- Docker 学习笔记(2)-基础用法
- https/http 413 416 错误
- C#图像图片扭曲,透视变换