企业级 JavaBean 关系与查询语言详解
1. 实体 Bean 关系与移除协议
实体 Bean 之间的关系会产生依赖,这使得实体的移除变得复杂。EJB 提供了两种移除实体的方式:
- 调用移除方法 :在代表实体的实体 Bean 实例的主接口或组件接口上调用 remove()
方法。
- 级联删除规范 :在部署描述符中编写级联删除规范,但这是维护引用完整性的选项,并非客户端移除实体的方式。
在这两种情况下,容器都会调用相应 Bean 实例的 ejbRemove()
方法。级联删除可能会导致容器对多个 Bean 实例调用 ejbRemove()
方法。例如,当在 CustomerBean
的接口上调用 remove()
方法时,容器会对相应的 CustomerBean
实例调用 ejbRemove()
方法。若该客户 Bean 关联了五个订单,且 OrderBean
在部署描述符的 ejb-relationship-role
中指定了级联删除,那么容器会对与该客户 Bean 实例相关的所有 OrderBean
实例调用 ejbRemove()
方法。
本部分的三个重要要点如下:
- 两个实体 Bean 之间的关系反映了它们所代表的实体之间的关系,容器通