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

7 hibernate最佳实践

  • 1.
    ORM 框架 ——Hibernate3.3 Hibernate最佳实践
  • 2.
    Hibernate不适合的场景  不适合 OLAP ( 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
  • 6.