- 浏览: 7155001 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (397)
- 架构研究 (44)
- 网络协议-TCP/HTTP (20)
- SPRING (23)
- HIBERNATE 3 (30)
- STRUTS 2 (20)
- Java/J2se (25)
- Servlet/Jsp (9)
- 开发工具IDE (10)
- WEB服务器 (17)
- 前端--Java Script (33)
- 前端--CSS (7)
- OS--Linux (31)
- OS--MAC OS (19)
- MySQL数据库 (19)
- Oracle数据库 (11)
- 项目管理工具 (12)
- 数据报表技术 (4)
- 图像处理技术 (10)
- 其它综合技术 (13)
- 权限管理 (1)
- MyBatis (1)
- 网络安全 (6)
- IO (21)
- PostgreSQL (2)
- Eclipse RCP (1)
- GWT (1)
- 算法 (3)
- Storm (2)
- zookeeper (3)
- 消息 (1)
最新评论
-
bukebuhao:
已解决,打开文件太多。ulimit -n 上次临时生效后再次s ...
TFS(Taobao File System)配置dataServer、分区、挂载数据盘 -
bukebuhao:
ds重启后启动不了。报错信息如下,请大神帮助[2018-08- ...
TFS(Taobao File System)配置dataServer、分区、挂载数据盘 -
墨上清:
感谢,看完有了一个完整的知识网络。
Spring MVC 教程,快速入门,深入分析 -
云卷云舒灬:
谢谢,学到很多
Spring MVC 教程,快速入门,深入分析 -
luozhy:
非常感谢非常感谢
Project Web Access ActiveX控件 安装
一. 我们使用oscache来演示 , 引入oscache的jar包到工程中.
二. 把下载的Hibernate压缩包中的 hibernate-3.2\etc\oscache.properties放入classpath中. 用默认设置就行了.
三.修改hibernate.cfg.xml , 加入如下, 意思启用二级缓存, 指定使用OSCache这个实现.
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory > <property name="show_sql">true</property> <property name="hibernate.hbm2ddl.auto">update</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql:///test</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">1234</property> <!-- 这行不写也行,默认就为true--> <property name="cache.use_second_level_cache">true</property> <!-- 对Query也开启缓存 ,由于命中率太低,建议不开 --> <property name="cache.use_query_cache">true</property> <!-- 指定使用OSCache这个实现--> <property name="cache.provider_class">org.hibernate.cache.OSCacheProvider</property> <!-- 打开统计信息--> <property name="generate_statistics">true</property> <mapping resource="dao/po/Department.hbm.xml"/> <mapping resource="dao/po/Employee.hbm.xml"/> <mapping resource="dao/po/Person.hbm.xml"/> <mapping resource="dao/po/IdCard.hbm.xml"/> <mapping resource="dao/po/Teacher.hbm.xml"/> <mapping resource="dao/po/Student.hbm.xml"/> <mapping resource="dao/po/User.hbm.xml"/> <mapping resource="extends_test/extends_1/Person.hbm.xml"/> <mapping resource="extends_test/extends_2/Person.hbm.xml"/> <mapping resource="extends_test/extends_4/Person.hbm.xml"/> <!-- 以下类被缓存--> <class-cache class="dao.po.Person" usage="read-write"/> </session-factory> </hibernate-configuration>
四.usage的说明
"read-only" 只读的, po不能修改, 修改会抛异常
"read-write" 可对PO读写. 不怕并发修改
"nonstrict-read-write" 非严格的 读写, 并发修改不会问题, 一般用在能容忍出问题的环境.
"transactional" 有事务的,缓存 , oscache不是支持, jboss 有实现.
五. 查询测试, 看看命中几次
package cache_test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.stat.Statistics; import dao.HibernateUtil; import dao.po.Person; /** * 测试缓存 * */ public class Test { public static void main(final String[] args) { query(); final SessionFactory sf = HibernateUtil.getSessionFactory(); final Statistics s = sf.getStatistics(); System.out.println(s); //打印所有信息 监测SessionFactory System.out.println("---------------"); System.out.println("放入:" + s.getSecondLevelCachePutCount()); //打印缓存的信息 System.out.println("命中:" + s.getSecondLevelCacheHitCount()); System.out.println("丢失:" + s.getSecondLevelCacheMissCount()); } public static void query() { Session session = null; for (int i = 0; i < 10; i++) { session = HibernateUtil.getSeesion(); final Person p1 = (Person) session.get(Person.class, 1); session.close(); System.out.println(p1.getName()); } } }
六: 打印出:
放入:1
命中:9
丢失:1
发表评论
-
Hibernate二级缓存 ---- 最佳实践
2010-11-08 10:17 39220作者:赵磊 博客:ht ... -
Hibernate--泛型DAO
2010-06-27 19:49 4990泛型DAO(翻译) http://www.iteye.com ... -
Hibernate--空位
2010-06-27 15:41 1721原文章已合并整理到: http://elf8848.itey ... -
Hibernate 操作Blob Clob
2010-06-14 16:50 5174Photo.java import java.sql.Bl ... -
Hibernate ---- 控制日志
2010-06-06 11:46 2997Hibernate版本 3.3或3.4 Hibernate ... -
Hibernate悲观锁定与乐观锁定
2010-05-17 15:08 2165悲观锁定 由数据库方面实现. 可见:Hibernate悲观锁 ... -
Hibernate懒加载深入分析
2010-05-14 11:22 8227[size=small] ------------------ ... -
Hibernate批量操作(JDBC批量操作)
2009-03-30 14:52 8328部分内容转自 :http://ga ... -
Hibernate分页查询与泛型
2009-03-26 19:03 7311JE有两篇文章,关于分页查询 与泛型 的,写的很好.这里收藏一 ... -
20 Hibernate 1+N问题的原理与解决
2009-03-04 09:44 13021什么时候会遇到1+N的问题? 前提:Hibernate默认表 ... -
19 Criteria查询,DetachedCriteria离线查询 --做综合查询
2009-03-04 09:35 3678通过Session得到Criteria类的对象 /** ... -
空位空位
2009-03-03 10:22 2238空位空位空位空位 -
17 继承(四)每一个具体的类 映射到一张表
2009-03-02 13:54 2248类(Person) , 男人(Men)继 ... -
16 继承(三)(把前面14,15讲的情况结合起来)
2009-03-02 13:30 2046人类(Person) , 男人(Men)继承"人& ... -
15 继承(二)(每个子类扩展的属性单独保存在一张表中)
2009-03-02 13:07 2023人类(Person) , 男人(Men)继承" ... -
14 继承(一)(整个继承树映射到一张表)
2009-03-02 11:00 2171人类(Person) , 男人(Men)继承" ... -
13 级联和关系维护(Cascade 和Inverse)
2009-03-01 17:58 2990Cascade用来说明当对主对象进行某操作时, 是否对其关联的 ... -
12 映射-- 集合类的映射(Set,List,Map,Array)
2009-03-01 16:18 2574部门类Department , 他有 empa1, emp ... -
11 映射-- 组件映射(人类与姓名类)
2009-03-01 15:26 2313User类: 注意他的name属性 package ... -
10 映射-- 多对多(老师与学生)
2009-03-01 15:01 2530学生类: package dao.po; impo ...
相关推荐
3.4.4. 二级缓存与查询缓存 3.4.5. 查询语言中的替换 3.4.6. Hibernate的统计(statistics)机制 3.5. 日志 3.6. 实现NamingStrategy 3.7. XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 ...
3.4.4. 二级缓存与查询缓存 3.4.5. 查询语言中的替换 3.4.6. Hibernate的统计(statistics)机制 3.5. 日志 3.6. 实现NamingStrategy 3.7. XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 ...
3.4.4. 二级缓存与查询缓存 3.4.5. 查询语言中的替换 3.4.6. Hibernate的统计(statistics)机制 3.5. 日志 3.6. 实现NamingStrategy 3.7. XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 ...
3.4.4. 二级缓存与查询缓存 3.4.5. 查询语言中的替换 3.4.6. Hibernate的统计(statistics)机制 3.5. 日志 3.6. 实现NamingStrategy 3.7. XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 ...
3.4.4. 二级缓存与查询缓存 3.4.5. 查询语言中的替换 3.4.6. Hibernate的统计(statistics)机制 3.5. 日志 3.6. 实现NamingStrategy 3.7. XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 ...
3.4.4. 二级缓存与查询缓存 3.4.5. 查询语言中的替换 3.4.6. Hibernate的统计(statistics)机制 3.5. 日志 3.6. 实现NamingStrategy 3.7. XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 ...
二级缓存与查询缓存 3.4.5. 查询语言中的替换 3.4.6. Hibernate的统计(statistics)机制 3.5. 日志 3.6. 实现NamingStrategy 3.7. XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 3.8.2. ...
4.4.4. 二级缓存与查询缓存 4.4.5. 查询语言中的替换 4.4.6. Hibernate的统计(statistics)机制 4.5. 日志 4.6. 实现NamingStrategy 4.7. XML配置文件 4.8. J2EE应用程序服务器的集成 4.8.1. 事务策略配置 ...
3.4.4. 二级缓存与查询缓存 3.4.5. 查询语言中的替换 3.4.6. Hibernate的统计(statistics)机制 3.5. 日志 3.6. 实现NamingStrategy 3.7. XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 ...
20.2. 二级缓存(The Second Level Cache) 20.2.1. 缓存映射(Cache mappings) 20.2.2. 策略:只读缓存(Strategy: read only) 20.2.3. 策略:读/写缓存(Strategy: read/write) 20.2.4. 策略:非严格读/...
二级缓存与查询缓存 4.4.5. 查询语言中的替换 4.4.6. Hibernate的统计(statistics)机制 4.5. 日志 4.6. 实现NamingStrategy 4.7. XML配置文件 4.8. J2EE应用程序服务器的集成 4.8.1. 事务策略配置 4.8.2...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
9.1 一个简单的iBATIS高速缓存示例 156 9.2 iBATIS高速缓存的理念 157 9.3 理解高速缓存模型 158 9.3.1 type属性 158 9.3.2 readOnly属性 159 9.3.3 serialize属性 159 9.3.4 联合使用readOnly属性和serialize属性 ...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...