A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lucky_xingxing 黑马帝   /  2012-3-15 10:24  /  2560 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

想要精炼的回答,少而精。
对于hibernate的缺点比较不明确

该贴已经同步到 lucky_xingxing的微博

1 个回复

倒序浏览
一、优点

(1)对象/关系数据库映射(Basic O/R Mapping)

它使用时只需要操纵对象,使开发更对象化,抛弃了数据库中心的思想,完全的面向对象思想。

(2)透明持久化(Persistent)

带有持久化状态的、具有业务功能的单线程对象,此对象生存期很短。这些对象可能是普通的JavaBeans/POJO,这个对象没有实现第三方框架或者接口,唯一特殊的是他们正与(仅仅一个)Session相关联。一旦这个Session被关闭,这些对象就会脱离持久化状态,这样就可被应用程序的任何层自由使用。(例如,用作跟表示层打交道的数据传输对象。)

(3)事务Transaction (org.Hibernate.Transaction)

应用程序用来指定原子操作单元范围的对象,它是单线程的,生命周期很短。它通过抽象将应用从底层具体的JDBC、JTA以及CORBA事务隔离开。某些情况下,一个Session之内可能包含多个Transaction对象。尽管是否使用该对象是可选的,但无论是使用底层的API还是使用Transaction对象,事务边界的开启与关闭是必不可少的。

(4)它没有侵入性,即所谓的轻量级框架。

(5)移植性会很好。

(6)缓存机制。提供一级缓存和二级缓存。

(7)简洁的HQL编程。

二、缺点



(1)Hibernate在批量数据处理的时候是有弱势。

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

评分

参与人数 1技术分 +2 收起 理由
房宝彬 + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马