hibernate 为什么要比EJB用的广泛!

来源:百度知道 编辑:UC知道 时间:2024/06/01 11:24:44
或者说说ejb和 hibernate 之间的效率扥发不同的地方的区别!

Hibernate和EJB在应用层次上不是一个级别的
Hibernate的主要功能是实现数据库表的DAO类化,简化传统的数据表操作需要使用大量SQL的特性,使开发者与DBA职务有效分离。
EJB主要是一种基于企业级开发的思想,它是一种标准描述了构建应用组件要解决的:
可扩展 (Scalable)
分布式 (Distributed)
事务处理 (Transactional)
数据存储 (Persistent)
安全性 (Secure)
Hibernate只能算是EJB组件思想中解决数据部分的一种轻量级及解决方案。

从另一个角度说,广泛是需要有用户支持的,EJB的问题在于应用门槛过高,基于EJB开发都需要有很好的前期分析与构架,且企业业务稳定不经常变更。这样就导致只有个别业务模型稳定的超大企业才有可能采用EJB方式。这就导致轻量级的hibernate更易于被大众使用和接受。它们的学习成本不是在一个层次的。

其实,Hibernate与EJB根本就没有可比性,Hibernate主要是应用在数据持久化,主要是根数据库打交道,而EJB主要是应用在事务逻辑层,两者应用在一个软件的不同层次上,就好像你建房子的时候,钢筋和水泥,你问:“为什么水泥会比钢筋用得广泛?”。我说两者没有可比性。你应该这样问:“Hibernate为什么要比Persistence用得广泛”。其实答案很简单,Hibernate是轻量级的,适合于民间开发,Persistence是重量级的,适合于企业级开发。