技术开发 频道

如何构建 EJB 3.0 应用程序

         要使 CustomerTaskImpl 成为会话 Bean,请添加 @Stateless 注释,如图 51 所示。这可使您的 POJO 成为无状态会话 Bean。

  图 51. 无状态注释

图 51. 无状态注释

  EJB 3.0 容器还是一个注入服务器。要具有持久操作,您需要一个实体管理器。这可以通过注入轻松地添加到该会话 Bean 中。当在 EJB 3.0 容器中使用 JPA 时,该容器会自动管理,为您传递正确的持久上下文。这就是所谓的容器管理的实体管理器。通过使用此样式的 JPA,EJB 3.0 容器将正确地管理持久上下文的生命周期,并跨 EJB 调用传播正确的上下文。

  将以下所示的 EntityManager 声明添加到 CustomerTaskImpl 类中。

  @PersistenceContext(name="OrderDB")

  EntityManager em;

  您可以使用代码辅助功能引入 PersistenceContext 导入(图 52)。

  图 52. PersistenceContext 注释

图 52. PersistenceContext 注释

  将此代码片段添加到 findCustomer 方法中:

  Customer customer = (Customer) em.find(Customer.class, customerId);

  if (customer == null) {

  throw new CustomerDoesNotExist("Customer does not exist");

  }

  return customer;

  如前所述组织导入(图 53),然后保存并关闭该文件。

  图 53. 客户实现

图 53. 客户实现

0
相关文章