文档介绍:Hibernate 的优点 Hibernate 的优点一、 Hibernate 是 JDBC 的轻量级的对象封装,它是一个独立的对象持久层框架,和 App Server ,和 EJB 没有什么必然的联系。 Hibernat e 可以用在任何 JDBC 可以使用的场合, 例如 Java 应用程序的数据库访问代码, DAO 接口的实现类, 甚至可以是 BMP 里面的访问数据库的代码。从这个意义上来说, Hibernate 和 EB 不是一个范畴的东西,也不存在非此即彼的关系。二、 Hibernate 是一个和 JDBC 密切关联的框架,所以 Hibernate 的兼容性和 JDB C 驱动, 和数据库都有一定的关系, 但是和使用它的 Jav a 程序,和 App Server 没有任何关系,也不存在兼容性问题。三、 Hibernate 不能用来直接和 Entity Bean 做对比,只有放在整个 J2EE 项目的框架中才能比较。并且即使是放在软件整体框架中来看, Hibernate 也是做为 JDBC 的替代者出现的, 而不是 Entity Bea n 的替代者出现的,让我再列一次我已经列 n 次的框架结构: 传统的架构: 1) Session Bean <-> Entity Bean <-> DB 为了解决性能障碍的替代架构: 2) Session Bean <-> DAO <-> JDBC <-> DB 使用 Hibernate 来提高上面架构的开发效率的架构: 3) Session Bean <-> DAO <-> Hibernate <-> DB 就上面 3 个架构来分析: 1、内存消耗: 采用 JDBC 的架构 2 无疑是最省内存的, Hibernate 的架构 3 次之, EB 的架构 1 最差。 2 、运行效率:如果 JDBC 的代码写的非常优化,那么 JDBC 架构运行效率最高, 但是实际项目中, 这一点几乎做不到, 这需要程序员非常精通 JDBC , 运用 Batch 语句, 调整 PreapredStatement 的 Batch Siz e 和 Fetch Size 等参数, 以及在必要的情况下采用结果集 cache 等等。而一般情况下程序员是做不到这一点的。因此 Hibernate 架构表现出最快的运行效率。 EB 的架构效率会差的很远。 3 、开发效率:在有 JBuilder 的支持下以及简单的项目, EB 架构开发效率最高, JDBC 次之, Hibernate 最差。但是在大的项目, 特别是持久层关系映射很复杂的情况下, Hibernate 效率高的惊人, JDBC 次之,而 EB 架构很可能会失败。 4 、分布式,安全检查,集群,负载均衡的支持由于有 SB 做为 Facade ,3 个架构没有区别。四、 EB和 Hibernate 学****难度在哪里? EB 的难度在哪里?不在复杂的 XML 配置文件上, 而在于 EB 运用稍微不慎, 就有严重的性能障碍。所以难在你需要学****很多 EJB 设计模式来避开性能问题,需要学****App Server 和 EB 的配置来优化 EB 的运行效率。做 EB 的开发工作, 程序员的大部分精力都被放到了 EB 的性能问题上了, 反而没有更多的精力关注本身就主要投入精力去考虑的对象持久层的设计上来