知识大全 Hibernate的十大罪状

Posted 罪状

篇首语:知识是头上的花环,而财产是颈上的枷锁。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Hibernate的十大罪状相关的知识,希望对你有一定的参考价值。

Hibernate的十大罪状  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  Hibernate确实功能强悍 但在易用性 性能上存在缺陷 如果团队中没有一个精通Hibernate的高手 不适合使用Hibernate

   复杂的实体状态

  各种实体状态的设计是种种复杂性问题的根源 在持久化状态下不需要save就自动同步到数据库既无必要又容易造成烦恼

   Lazy Load 与 Eager Load

  Lazy Load的概念听起来不错 用起来就不那么妙了 也直接导致产生了Open Session In View这种妥协方案 此外 在domain类中定义的FetchType只针对get/load/loadAll有效 对Query是无效的 需要再次定义

   Open Session In View

  Lazy Load引发的一个有较多副作用的解决方案

   级联

  级联是一个很好很OO的概念 但往往增加了复杂度

   批量更新与缓存不一致

  Hibernate引入了一级缓存和二级缓存 提供了性能的同时带来了缓存一致性的问题 批量更新或者其他系统对数据库的更新容易造成缓存不一致

   配置繁琐

  Hibernate最初只能使用xml进行配置 后来终于引入了Annotation和CoC(约定优于配置)来简化配置 但这种变革并不彻底 Hibernate默认把userName映射userName 但实际开发中 把userName映射为user_name的情况更多些

   HQL

  HQL是一个类SQL对象查询语言 但正是因为HQL与SQL的相似性 往往容易造成混淆 同时HQL难以调试 本质创建了一种语言 增加学习成本

   太多的查询方案

  HQL QBC SQL 就不能统一点 简洁点?

   N+ 次查询

   性能问题

cha138/Article/program/Java/ky/201311/29200

相关参考

知识大全 Hibernate3.1与Hibernate3.2

Hibernate3.1与Hibernate3.2  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 hibernate的性能优化

  Hibernate是对JDBC的轻量级封装因此在很多情况下Hibernate的性能比直接使用JDBC存取数据库要低然而通过正确的方法和策略在使用Hibernate的时候还是可以非常接近直接使用JD

知识大全 Hibernate简介

Hibernate简介  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Hibernate是一个开

知识大全 Hibernate宏观内容

Hibernate宏观内容  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Hibernate执行

知识大全 Hibernate的批量处理

Hibernate的批量处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Hibernate批

知识大全 Hibernate基础详细分析

Hibernate基础详细分析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Hibernate

知识大全 第一个Hibernate应用

精通Hibernate:第一个Hibernate应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 Hibernate包作用详解

Hibernate包作用详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Hibernate一

知识大全 使用hibernate的优势

  Hibernate在解决性能问题方面做得非常好有了它的缓存机制使用第三方缓存和数据库连接池就较好的解决的性能问题但这些还不够hibernate给了开发者足够的自由让开发者自己去控制性能问题  学习

知识大全 hibernate 经验谈2

  hibernate虽然对多种数据库进行了适应以达到前台感受不到后台的数据库类型但是在Blob和Clob这两种类型的存取方面不同的数据库有不同的实现方法这方面hibernate