hibernate的优缺点
@sunRainAmazing
Hibernate的优缺点:
优点: 1、程序更加面向对象;
2、提高了生产率;
3、方便移植(修改配置文件);
4、无侵入性。
缺点:
1、效率比JDBC略差;
2、不适合批量操作。
(1) Hibernate在批量数据处理时有弱势
(2) 针对单一对象简单的增删查改,适合于Hibernate,而对于批量的修改,
删除,不适合用Hibernate,这也是OR框架的弱点;
要使用数据库的特定优化机制的时候,不适合用Hibernate
Hibernate有四种查询方案:
1、get,load方法,根据id查找对象
2、HQL--hibernate query language(查询对象:Query)
3、Criteria--标准查询语言(查询对象:Criteria,查询条件:Criterion)
4、通过sql来查(查询对象:SQLQuery)
优缺点
优缺点
Hibernate是一个开放源代码的对象关系映射框架,
它对JDBC进行了非常轻量级的对象封装,
使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,
既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,
最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,
完成数据持久化的重任。
大多数开发机构经常采取创建各自独立的数据持久层。
一旦底层的数据结构发生改变,那么修改应用的其余部分使之适应这种改变的代价将是十分巨大的。
Hibernate适时的填补了这一空白,它为Java应用提供了一个易用的、高效率的对象关系映射框架。
hibernate是个轻量级的持久性框架,功 能却非常丰富。
优点:
a.Hibernate 使用 Java 反射机制而不是字节码增强程序来实现透明性。
b.Hibernate 的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。
c.它支持各种关系数据库,从一对一到多对多的各种复杂关系。
一、Hibernate是JDBC的轻量级的对象封装,
它是一个独立的对象持久层框架,和App Server,和EJB没有什么必然的联系。
Hibernate可以用在任何JDBC可以使用的场合,
例如Java应用程序的数据库访问代码,DAO接口 的实现类,
甚至可以是BMP里面的访问数据库的代码。
从这个意义上来说,Hibernate和EB不是一个范畴的东西,
也不存在非此即彼的关系。
二、Hibernate是一个和JDBC密切关联的框架,
所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系,
但是和使用它的Java程序,和App Server没有任何关系,
也不存在兼容性问题。
1、内存消耗:采用JDBC的架构2无疑是最省内存的,
Hibernate的架构3次之,EB的架构1最差。
2、运行效率:如果JDBC的代码写的非常优化,那么JDBC架构运行效率最高,
但是实际项目中,这一点几乎做不到,这需要程序员非常精通JDBC,
运用 Batch语句,调整PreapredStatement的Batch Size和Fetch Size等参数,
以及在必要的情况下采用结果集cache等等。
而一般情况下程序员是做不到这一点的。
因此Hibernate架构表现出最快的运行效率。
EB的架构效率会差的很远。
3、开发效率:在有JBuilder的支持下以及简单的项目,
EB架构开发效率最高,JDBC次之,Hibernate最差。
但是在大的项目,特别是持久层关系映射很复杂的情况下,
Hibernate效率高的惊人,JDBC次之,而EB架构很可能会失败。
4、分布式,安全检查,集群,负载均衡的支持