Hibernate高级特性以及性能优化
2012-03-12 14:34
204 查看
1)延迟加载 : 当程序执行getter方法获取时,才发送sql语句加载数据. 延迟加载给程序带来好处,但是要避免session过早关闭问题 a. load()和get()两个方法区别 load()采用延迟加载机制,返回的是一个proxy代理对象 get()没有采用延迟加载,返回的是一个对象实例 b.Hibernate.initialize(user) 可以强制user对象实例化 c.hbm映射描述文件中,<class>,<property>,<set>等元素 都可以使用lazy属性,默认lazy="true",启用延迟加载
lazy="false"禁用延迟加载.
2)缓存机制 Hibernate每次查询先去缓存中查找,没有才去数据库查询. a.一级缓存 Session级别的缓存,缓存load,get出来的单个对象.默认开启. 使用同一个Session对象多次查询同一个User对象, 只会发送一次SQL取数据库获取 b.二级缓存 SessionFactory级别的缓存.默认情况是关闭. (1)首先在hibernate.cfg.xml中指定EhCache缓存策略 <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
(2)在src下添加ehcache.xml配置文件 (3)在User.hbm.xml中添加<cache/>定义 <cache usage="read-only"/> ,如果涉及更新,使用read-write c.查询缓存 缓存HQL查询结果集,对相同的HQL查询语句,只去数据库查询一次.
lazy="false"禁用延迟加载.
2)缓存机制 Hibernate每次查询先去缓存中查找,没有才去数据库查询. a.一级缓存 Session级别的缓存,缓存load,get出来的单个对象.默认开启. 使用同一个Session对象多次查询同一个User对象, 只会发送一次SQL取数据库获取 b.二级缓存 SessionFactory级别的缓存.默认情况是关闭. (1)首先在hibernate.cfg.xml中指定EhCache缓存策略 <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
(2)在src下添加ehcache.xml配置文件 (3)在User.hbm.xml中添加<cache/>定义 <cache usage="read-only"/> ,如果涉及更新,使用read-write c.查询缓存 缓存HQL查询结果集,对相同的HQL查询语句,只去数据库查询一次.
相关文章推荐
- Unity5.0新特性------unity内部:内存 和 性能(以及Unity5的升级优化)
- <<oracle database 11gR2 性能调整与优化 >>学习--11g的新特性:高级压缩
- JVM笔记10-性能优化之高级特性
- Unity5.0新特性------unity内部:内存 和 性能(以及Unity5的升级优化)
- Unity5.0新特性------unity内部:内存 和 性能(以及Unity5的升级优化)
- 《MySQL技术精粹:架构、高级特性、性能优化与集群实战》目录
- Hibernate高级应用:性能优化策略
- Hibernate程序性能优化的考虑要点
- 浅析Mysql Join语法以及性能优化
- Linux 性能优化工具包 sysstat 以及 sysstat 服务
- 源码推荐(7.15):重写UIFont方法 设置字体格式以及大小,可重用的水平滚动scrollView列表 极致性能优化
- ASP.Net中的ViewState解析和压缩以及页面性能优化
- hibernate 对大型项目性能优化
- hibernate 性能优化
- Mysql Join语法以及性能优化
- 传智播客学习之Hibernate性能优化
- Spark性能优化指南:高级篇
- Hibernate 的性能优化的时候碰到了"抓取策略",有四种