必威体育Betway必威体育官网
当前位置:首页 > IT技术

Hibernate的优缺点

时间:2019-09-27 07:43:22来源:IT技术作者:seo实验室小编阅读:64次「手机版」
 

优缺点

Hibernate是一个开放源代码的对象关系映射(ORM)框架,它对JDBC进行了非常轻量级的对象封装,使得java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。----百度百科

其实我自己的理解是,使用hibernate,最常用的场景是,使用它的ORM机制,然后把传统的关系型数据库操作,转换为面向对象的方式来操作。为什么这么做呢?在没有使用到ORM之前。一个简单的例子,你在表单上,填了好多个数据,姓名,性别,年龄。。。。。爱好等等等,然后你使用JDBC去连接数据库,接下来一条一条的把数据从request或者某个地方读进来,如果有100个,表示需要定义100个变量来暂存这些表单数据,然后在保存到数据库中,在保存的时候,也要一下下的写sql语句,再次传100个值。。。如果是1000个。。想想就好累,我现在某个公司,学习使用PHP,存储数据的时候,就是这样一下下来,心好累。

那么如果有了ORM,是什么情况,你只要把对应的数据库的表,映射为一个对象(比如student)。然后在表单对应的input的name上,填写对应对象的对应属性(比如student.name),然后在保存的时候,在提交到的Action中,定义一个student的对象实例,那么这些数据就会自动保存在这个对象中了(我用了struts2,不扯这个,只是说明效率)。接下来,你只需要保存一下这个对象就ok了。是不是感觉方便了好多。

Hibernate的优点:

1、对象化。

hibernate可以让开发人员以面相对象的思想来操作数据库。jdbc只能通过SQL语句将元数据传送给数据库,进行数据操作。而hibernate可以在底层对元数据和对象进行转化,使得开发者只用面向对象的方式来存取数据即可。

2、更好的移植性。

hibernate使用xml或JPA的配置以及数据库方言等等的机制,使得hibernate具有更好的移植性,对于不同的数据库,开发者只需要使用相同的数据操作即可,无需关心数据库之间的差异。而直接使用JDBC就不得不考虑数据库差异的问题。

3、开发效率高。

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

4、缓存机制的使用。

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

Hibernate的缺点:

1、灵活性和效率不如原生JDBc程序

由于对持久层封装过于完整,导致开发人员无法对SQL进行优化,无法灵活使用JDBC的原生SQL。

Hibernate封装了JDBC,但没有原生的JDBC程序直接访问数据库效率高。要使用数据库的特定优化机制的时候,不适合用Hibernate 。

2、配置文件复杂。

框架中使用ORM原则,导致配置过于复杂,一旦遇到大型项目,比如300张表以上,配置文件和内容是非常庞大的,另外,DTO满天飞,性能和维护问题随之而来

3、不适于复杂关系的数据表维护。

如果项目中各个表中关系复杂,表之间的关系很多,在很多地方把lazy都设置false,会导致数据查询和加载很慢,尤其是级联查询的时候。

4、批量操作上的弱势。

Hibernate在批量数据处理时有弱势,对于批量的修改,删除,不适合用Hibernate,这也是ORM框架的弱点

相关阅读

hibernate一对多、多对一、多对多问题

最近在写一个博客项目,数据库表的建立要考虑多表的问题,记录下学习所得! CRUD create read update delete 实体类的设计: Article: art

Hibernate之HQL

1. 什么是hqlHQL是Hibernate Query Language的缩写2. hql和sql区别/异同 HQL SQL 类名/属性 表名/列名 区分大小写,关键

HUAWEI GT Watch值不值得买 华为GT Watch智能手表优缺

HUAWEI GT Watch智能手表怎么样?值不值得买吗?下面小编带来华为GT Watch智能手表全面评测,希望对大家有所帮助。华为GT Watch智能手

天猫转让新店和老店区别是什么?有哪些优缺点?

通过天猫店铺转让方式开店,新店和老店各有各的优势。新店没有任何违规、扣分和债务问题,全新的店铺只需要上架宝贝运作就行,并且有新

mvc原理和mvc模式的优缺点

mvc原理和mvc模式的优缺点 一、mvc原理 mvc是一种程序开发设计模式,它实现了显示模块与功能模块的分离。提高了程序的可维护性

分享到:

栏目导航

推荐阅读

热门阅读