SlideShare a Scribd company logo
ORM 框架 —— Hibernate3.3

          Hibernate最佳实践
Hibernate不适合的场景

 不适合 OLA P ( On-Line A nalytical Processing 联机
  分析处理),以查询分析数据为主的系统;适合
  OLTP ( On-Line Transaction Processing 联机事务处
  理)。
 对一些关系模型设计不合理的老系统,也不能发
  挥 Hibernate的优势。
 数据量大、性能要求苛刻的系统, Hibernate也很
  难达到要求,批量操作数据的效率也不高。




www.sodi.com.cn
Hibernate最佳实践( 1 )

 S essionFactory 的创建非常消耗资源,整个应用一般
  只要一个 S essionFactory 就够了,只有多个数据库
  的时候才会使用多个 S essionFactory 。
 在整个应用中, S ession 和事务应该能够统一管理。
  ( S pring 为 Hibernate提供了非常好的支持)。
 将所有的集合属性配置设置为懒加载
  ( lazy=”true” )。在 hibernate2.x版本中, lazy 默认
  值是 “ false”, 但 hibernate3.x 已经将 lazy 的默认改为 “
  true” 了。



www.sodi.com.cn
Hibernate最佳实践( 2 )

 在定义关联关系时,集合首选 S et ,如果集合中
  的实体存在重复,则选择 List (在定义配置文件
  时,可以将 List 定义为 bag ),数组的性能最差
  。
 HQL 子句本身大小写无关,但是其中出现的类名
  和属性名必须注意大小写区分。
 在一对多的双向关联中,一般将集合的 inverse属
  性设为 true,让集合的对方维护关联关系。例如
  : Group-User ,由 User 来维护 Group 和 User 的关
  联关系。
 在非分布式架构中,不需要使用 DTO 来向上层
  传输数据。直接使用 POJO 的 E ntity 就可以了。
www.sodi.com.cn
Hibernate最佳实践( 3 )

 参考 Hibernate_Reference中的最佳实践( B est
  Practices )一章。




www.sodi.com.cn
www.sodi.com.cn

More Related Content

Similar to 7 hibernate最佳实践

众行业公司系统架构案例介绍
众行业公司系统架构案例介绍众行业公司系统架构案例介绍
众行业公司系统架构案例介绍
mysqlops
 
分布式系统日志处理调研
分布式系统日志处理调研分布式系统日志处理调研
分布式系统日志处理调研
klandor
 
Java@taobao
Java@taobaoJava@taobao
Java@taobao
vanadies10
 
Hadoop ecosystem
Hadoop ecosystemHadoop ecosystem
Hadoop ecosystem
legend900805
 
110329 luopeng-sysopt-openkavass
110329 luopeng-sysopt-openkavass110329 luopeng-sysopt-openkavass
110329 luopeng-sysopt-openkavass
Zoom Quiet
 
Web请求异步处理和海量数据即时分析在淘宝开放平台的实践
Web请求异步处理和海量数据即时分析在淘宝开放平台的实践Web请求异步处理和海量数据即时分析在淘宝开放平台的实践
Web请求异步处理和海量数据即时分析在淘宝开放平台的实践
mysqlops
 
基于 MySQL 的B2C电商系统前端数据层架构
基于 MySQL 的B2C电商系统前端数据层架构基于 MySQL 的B2C电商系统前端数据层架构
基于 MySQL 的B2C电商系统前端数据层架构
Sky Jian
 
Mysql HandleSocket技术在SNS Feed存储中的应用
Mysql HandleSocket技术在SNS Feed存储中的应用Mysql HandleSocket技术在SNS Feed存储中的应用
Mysql HandleSocket技术在SNS Feed存储中的应用
iammutex
 
《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf
markmind
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰Scourgen Hong
 
Ceph Based Large Scale Application Case and Technology in Financial Industry ...
Ceph Based Large Scale Application Case and Technology in Financial Industry ...Ceph Based Large Scale Application Case and Technology in Financial Industry ...
Ceph Based Large Scale Application Case and Technology in Financial Industry ...
Ceph Community
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程yiditushe
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程appollo0312
 
Times Ten Training
Times Ten TrainingTimes Ten Training
Times Ten TrainingLi Chen
 
设计可扩展的Oracle应用
设计可扩展的Oracle应用设计可扩展的Oracle应用
设计可扩展的Oracle应用james tong
 
大型互联网广告应用系统架构
大型互联网广告应用系统架构大型互联网广告应用系统架构
大型互联网广告应用系统架构
Shaoning Pan
 
美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统
美团点评技术团队
 
系统性能分析和优化.ppt
系统性能分析和优化.ppt系统性能分析和优化.ppt
系统性能分析和优化.pptFrank Cai
 
浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华
zhuozhe
 
Entity Framework實戰
Entity Framework實戰Entity Framework實戰
Entity Framework實戰
國昭 張
 

Similar to 7 hibernate最佳实践 (20)

众行业公司系统架构案例介绍
众行业公司系统架构案例介绍众行业公司系统架构案例介绍
众行业公司系统架构案例介绍
 
分布式系统日志处理调研
分布式系统日志处理调研分布式系统日志处理调研
分布式系统日志处理调研
 
Java@taobao
Java@taobaoJava@taobao
Java@taobao
 
Hadoop ecosystem
Hadoop ecosystemHadoop ecosystem
Hadoop ecosystem
 
110329 luopeng-sysopt-openkavass
110329 luopeng-sysopt-openkavass110329 luopeng-sysopt-openkavass
110329 luopeng-sysopt-openkavass
 
Web请求异步处理和海量数据即时分析在淘宝开放平台的实践
Web请求异步处理和海量数据即时分析在淘宝开放平台的实践Web请求异步处理和海量数据即时分析在淘宝开放平台的实践
Web请求异步处理和海量数据即时分析在淘宝开放平台的实践
 
基于 MySQL 的B2C电商系统前端数据层架构
基于 MySQL 的B2C电商系统前端数据层架构基于 MySQL 的B2C电商系统前端数据层架构
基于 MySQL 的B2C电商系统前端数据层架构
 
Mysql HandleSocket技术在SNS Feed存储中的应用
Mysql HandleSocket技术在SNS Feed存储中的应用Mysql HandleSocket技术在SNS Feed存储中的应用
Mysql HandleSocket技术在SNS Feed存储中的应用
 
《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
 
Ceph Based Large Scale Application Case and Technology in Financial Industry ...
Ceph Based Large Scale Application Case and Technology in Financial Industry ...Ceph Based Large Scale Application Case and Technology in Financial Industry ...
Ceph Based Large Scale Application Case and Technology in Financial Industry ...
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程
 
Times Ten Training
Times Ten TrainingTimes Ten Training
Times Ten Training
 
设计可扩展的Oracle应用
设计可扩展的Oracle应用设计可扩展的Oracle应用
设计可扩展的Oracle应用
 
大型互联网广告应用系统架构
大型互联网广告应用系统架构大型互联网广告应用系统架构
大型互联网广告应用系统架构
 
美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统
 
系统性能分析和优化.ppt
系统性能分析和优化.ppt系统性能分析和优化.ppt
系统性能分析和优化.ppt
 
浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华
 
Entity Framework實戰
Entity Framework實戰Entity Framework實戰
Entity Framework實戰
 

More from Zelin Wang

14 hibernate hql查询1
14 hibernate hql查询114 hibernate hql查询1
14 hibernate hql查询1Zelin Wang
 
13 hibernate 继承映射
13 hibernate 继承映射13 hibernate 继承映射
13 hibernate 继承映射Zelin Wang
 
11 hibernate 组件映射
11 hibernate 组件映射11 hibernate 组件映射
11 hibernate 组件映射Zelin Wang
 
9 hibernate 一对多关系映射
9 hibernate 一对多关系映射9 hibernate 一对多关系映射
9 hibernate 一对多关系映射Zelin Wang
 
6 事务和并发控制
6 事务和并发控制6 事务和并发控制
6 事务和并发控制Zelin Wang
 
4 hibernate对象管理和缓存结构
4 hibernate对象管理和缓存结构4 hibernate对象管理和缓存结构
4 hibernate对象管理和缓存结构Zelin Wang
 
2 hibernate核心api
2 hibernate核心api2 hibernate核心api
2 hibernate核心apiZelin Wang
 
8 hibernate 一对一关系映射
8 hibernate 一对一关系映射8 hibernate 一对一关系映射
8 hibernate 一对一关系映射Zelin Wang
 
01 orm概述及持久化介绍
01 orm概述及持久化介绍01 orm概述及持久化介绍
01 orm概述及持久化介绍Zelin Wang
 

More from Zelin Wang (9)

14 hibernate hql查询1
14 hibernate hql查询114 hibernate hql查询1
14 hibernate hql查询1
 
13 hibernate 继承映射
13 hibernate 继承映射13 hibernate 继承映射
13 hibernate 继承映射
 
11 hibernate 组件映射
11 hibernate 组件映射11 hibernate 组件映射
11 hibernate 组件映射
 
9 hibernate 一对多关系映射
9 hibernate 一对多关系映射9 hibernate 一对多关系映射
9 hibernate 一对多关系映射
 
6 事务和并发控制
6 事务和并发控制6 事务和并发控制
6 事务和并发控制
 
4 hibernate对象管理和缓存结构
4 hibernate对象管理和缓存结构4 hibernate对象管理和缓存结构
4 hibernate对象管理和缓存结构
 
2 hibernate核心api
2 hibernate核心api2 hibernate核心api
2 hibernate核心api
 
8 hibernate 一对一关系映射
8 hibernate 一对一关系映射8 hibernate 一对一关系映射
8 hibernate 一对一关系映射
 
01 orm概述及持久化介绍
01 orm概述及持久化介绍01 orm概述及持久化介绍
01 orm概述及持久化介绍
 

7 hibernate最佳实践

  • 1. ORM 框架 —— Hibernate3.3 Hibernate最佳实践
  • 2. Hibernate不适合的场景  不适合 OLA P ( On-Line A nalytical Processing 联机 分析处理),以查询分析数据为主的系统;适合 OLTP ( On-Line Transaction Processing 联机事务处 理)。  对一些关系模型设计不合理的老系统,也不能发 挥 Hibernate的优势。  数据量大、性能要求苛刻的系统, Hibernate也很 难达到要求,批量操作数据的效率也不高。 www.sodi.com.cn
  • 3. Hibernate最佳实践( 1 )  S essionFactory 的创建非常消耗资源,整个应用一般 只要一个 S essionFactory 就够了,只有多个数据库 的时候才会使用多个 S essionFactory 。  在整个应用中, S ession 和事务应该能够统一管理。 ( S pring 为 Hibernate提供了非常好的支持)。  将所有的集合属性配置设置为懒加载 ( lazy=”true” )。在 hibernate2.x版本中, lazy 默认 值是 “ false”, 但 hibernate3.x 已经将 lazy 的默认改为 “ true” 了。 www.sodi.com.cn
  • 4. Hibernate最佳实践( 2 )  在定义关联关系时,集合首选 S et ,如果集合中 的实体存在重复,则选择 List (在定义配置文件 时,可以将 List 定义为 bag ),数组的性能最差 。  HQL 子句本身大小写无关,但是其中出现的类名 和属性名必须注意大小写区分。  在一对多的双向关联中,一般将集合的 inverse属 性设为 true,让集合的对方维护关联关系。例如 : Group-User ,由 User 来维护 Group 和 User 的关 联关系。  在非分布式架构中,不需要使用 DTO 来向上层 传输数据。直接使用 POJO 的 E ntity 就可以了。 www.sodi.com.cn
  • 5. Hibernate最佳实践( 3 )  参考 Hibernate_Reference中的最佳实践( B est Practices )一章。 www.sodi.com.cn