Hibernate优点:

1、对象化。人员以面相对象的思想来操作数据库。Hibernate支持许多面向对象的特性,如组合,继承,多态等。

2、更好的移植性.对于不同的数据库,开发者只需要使用相同的数据操作即可.

3、开发效率高。hibernate提供了大量的封装(这也是它最大的缺点),很多数据操作以及关联关系等都被封装的很好,开发者不需写大量的sql语句,这就极大的提高了开发者的开发效率。

4、缓存机制的使用。hibernate提供了缓存机制(session缓存,二级缓存,查询缓存),对于那些改动不大且经常使用的数据,可以将它们放到缓存中,不必在每次使用时都去查询数据库,缓存机制对提升性能大有裨益。

session缓存:

二级缓存:

  查询缓存;

Hibernate缺点:

一、由于对持久层封装过于完整,导致开发人员无法对SQL进行优化,无法灵活使用JDBC的原生SQL,Hibernate封装了JDBC,所以没有JDBC直接访问数据库效率高。要使用数据库的特定优化机制的时候,不适合用Hibernate。
二、框架中使用ORM原则,导致配置过于复杂,一旦遇到大型项目,比如300张表以上,配置文件和内容是非常庞大的,另外,DTO满天飞,性能和维护问题随之而来
三、如果项目中各个表中关系复杂,表之间的关系很多,在很多地方把lazy都设置false,会导致数据查询和加载很慢,尤其是级联查询的时候。
四、Hibernate在批量数据处理时有弱势,对于批量的修改,删除,不适合用Hibernate,这也是ORM框架的弱点。Hibernate不适用于小型项目。

五、针对单一对象简单的增删查改,适合于Hibernate,而对于批量的修改,删除,不适合用Hibernate,这也是OR框架的弱点;要使用数据库的特定优化机制的时候,不

适合用Hibernate

最新文章

  1. 企业应用开发模式 ERP项目中应用到的技术和工具
  2. 中文字体font-family常用列表
  3. 冲刺阶段 day 14
  4. Bing Speech Recognition 标记
  5. UISegmetControl
  6. 年底小回顾(MVC+NHibernate+Jquery+JqueryUI——网站)
  7. jsp执行数据库查询并分页
  8. codeforces 558 E A Simple Task
  9. Android 增强版百分比布局库 为了适配而扩展
  10. 微信小程序开发---各代码文件简介
  11. python中numpy.ndarray.shape的用法
  12. cmd窗口使用sftp命令非密钥和密钥登录SFTP服务器的两种方式
  13. [转]SPFA算法的玄学方法
  14. sublime text 2使用方法
  15. .NET基础一
  16. 手动安装pydev
  17. Scrum 项目6.0-展示Sprint回顾的过程及成果。
  18. 【最小割】BZOJ3894-文理分科
  19. IOS 颜色 16进制 转换
  20. WebFlux01 webflux概念、异步servlet、WebFlux意义

热门文章

  1. vue2.0 自定义 侧滑删除(LeftSlider)组件
  2. php empty、isset、is_null区别
  3. 【Sprint3冲刺之前】敏捷团队绩效考核(刘铸辉)
  4. man gitworkflows
  5. 为公司做crm资产管理
  6. centos下保留python2安装python3
  7. gridcontrol复选框功能实现(超具体)
  8. vue-router 介绍
  9. crazyflie2.0 RCC时钟知识
  10. 【BZOJ1520】[POI2006]Szk-Schools KM算法