Ejb和Hibernate

Anonim

Ejb vs Hibernate

要了解EJB,最好了解它的来源背景。有两种类型的实体bean。这些是CMP和BMP。 CMP指的是容器管理的持久性,而BMP指的是Bean管理的持久性。在处理SQL中的关系数据库时,EJB专门用于对象制定和序列化。

当开发复杂的应用程序时,它从建模开始。类和对象最好在表中使用,因为它们具有复杂的相互关系,如果没有很好地实现,可能会导致很多问题。这实际上意味着我们处理的是一个系统,该系统采用对象而不是表格中的思维设计。关系数据库的使用速度非常快,并且及时进行了测试。与对象序列化相比,这可以节省时间,因为复杂的对象序列化是一个非常缓慢的过程。关系数据库技术的使用是一种快速且经过时间考验的方法,并且受到许多开发人员的欢迎,因此也是首选的原因。

可以纯粹处理开发中的表,并在数据操作和数据读取中使用会话bean。尽管这是可能的,但它的实用性是不可能的,特别是在处理使用上述方法的非常复杂的项目时。这是在EJB中使用实体bean之后的基础。

EJB1中的CMP设计为适用于与其他表没有复杂关系的简单表。 CMP的使用避免了引用底层数据库的引用。这实际上意味着它更便携,并且不会发生供应商锁定。除了关系数据库之外,EJB 1还将数据持久保存到对象数据库。

EJB 2.0采用了革命性的设计,旨在改善整体功能。它的主要变化是它建议用于编写CMP的格式。它提供了关系,并且还建议使用称为EBJ-QL的简单查询语言。该语言旨在通过将实体bean称为会话bean来最小化网络流量。

另一方面,Hibernate是一个ORM工具,它没有像EJB那样常见的陡峭学习曲线,并且不像EJB那样容易出错。 Hibernate因其灵活性而受到青睐,允许使用Servlet和JSP。 Hibernate是根据J2EE规范构建的,这使得它适用于开发人员将拥有的大多数应用程序。 Hibernate是一种特殊的ORM工具,因为它不仅可以在EJB容器中使用,而且也可以在独立容器和Web容器中使用。这是EJB和Hibernate之间的主要区别。因此,与使用EJB相比,使用Hibernate进行开发更容易,也更简单。

Hibernate在J2EE环境的用户中似乎更受欢迎,如果EBJ继续开发复杂的功能需要一段时间让用户熟悉,Hibernate将成为该领域的主导者,而EJB可能会发现自己被锁定在J2EE目前,它与大多数寻求在市场上瞄准的开发者没有联系。

摘要

EJB是一个专门用于对象制定的实体bean

在数据读取和操作中使用表和使用会话bean有可能虽然不实用

EBJ为开发提供了一种相对简单的查询语言,称为EJB-QL

EBJ容易出错

Hibernate相对容易理解和实现

Hibernate不像EJB那样容易出错