BMP和CMP

Anonim

BMP与CMP

众所周知,CMP或容器管理持久性对于bean开发人员来说是最简单的,并且已知它是EJB服务器最复杂的支持。在CMP中,bean开发人员不需要编写任何数据访问逻辑; EJB服务器负责处理所有需求。

众所周知,BMP或Bean Managed Persistence管理将其状态与容器所使用的数据库同步。

对于CMP bean开发人员,无需担心JDBC代码和事务,因为容器会自动处理所有数据库。相反,BMP开发人员将负责交易和所有数据库。

容器管理持久性和Bean管理持久性之间可以注意到的另一个区别是前者使用EJB查询语言。另一方面,Bean Managed Persistence开发人员必须在EJB或DAO中编写数据代码。那么,在这种情况下,对于BMP开发人员来说,这比CMP开发人员更具挑战性。

如果一个人正在使用CMP,他们将需要比BMP所需的更复杂的应用服务器。

有人说Bean管理持久性提供了一种战术方法,而容器管理持久性则提供了更具战略性的方法。

在BMP中,开发人员负责处理所有事情。相反,供应商负责CMP中的所有事情。另一件事可以看出,一个人将能够优化BMP中的查询,因为它使用硬编码查询。好吧,使用CMP的人无法优化性能,因为供应商负责处理所有事情。

摘要

1.对于CMP bean开发人员,无需担心JDBC代码和事务,因为容器会自动处理所有数据库。另一方面,BMP开发人员将负责事务和所有数据库。

2. CMP使用EJB查询语言。 BMP以EJB或DAO格式写入数据代码。

3. Bean Managed Persistence提供了一种战术方法,而Container Managed Persistence提供了一种更具战略性的方法。

4.如果一个人正在使用CMP,他们将需要比BMP所需的更复杂的应用服务器。

在BMP中,开发人员负责处理所有事情。相反,供应商负责CMP中的所有事情。