知识大全 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是对JDBC的轻量级封装因此在很多情况下Hibernate的性能比直接使用JDBC存取数据库要低然而通过正确的方法和策略在使用Hibernate的时候还是可以非常接近直接使用JD
Hibernate简介 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Hibernate是一个开
Hibernate宏观内容 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Hibernate执行
Hibernate的批量处理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Hibernate批
Hibernate基础详细分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Hibernate
精通Hibernate:第一个Hibernate应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Hibernate包作用详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Hibernate一
Hibernate在解决性能问题方面做得非常好有了它的缓存机制使用第三方缓存和数据库连接池就较好的解决的性能问题但这些还不够hibernate给了开发者足够的自由让开发者自己去控制性能问题 学习
hibernate虽然对多种数据库进行了适应以达到前台感受不到后台的数据库类型但是在Blob和Clob这两种类型的存取方面不同的数据库有不同的实现方法这方面hibernate