EJB 技术常见问题解析
1. Entity Bean 相关问题
1.1 ejbStore() 方法中的操作
在实体 Bean 类的 ejbStore()
方法内部,通过对 EntityContext
调用适当的方法,可以实现以下操作:
- 获取主键
- 获取客户端的安全信息
- 将事务标记为回滚
- 调用另一个 Bean 的方法
- 访问 Bean 的 JNDI 环境
容器调用 ejbStore()
方法,是为了让 Bean 提供者有机会更新 Bean 实例的持久状态。在 ejbStore()
执行期间,事务上下文仍然存在,因此该方法可以访问处于就绪状态的业务方法所能访问的任何内容。
1.2 容器管理持久化和关系的实体 Bean 提供者的职责
对于使用容器管理持久化和容器管理关系(CMR)的实体 Bean,Bean 提供者的职责包括:
- 在部署描述符中定义 CMR 字段。
- 在 Bean 类中声明 get 和 set 方法。
CMR 字段不在 Bean 类中声明为变量,而是在 Bean 类中声明相应的 get 和 set 访问器方法,由容器来实现。
1.3 具有双向容器管理关系的实体 Bean
具有双向容器管理关系的实体 Bean 必须有一个本地组件接口,它可以有远程接口,但不是必需的。