使用Apache OpenJPA开发EJB 3.0应用,第8部分 - 编程入门网
发 OpenJPA 应用是一致的, 请读者参考本系列文章的 第 2 部分:第一个 OpenJPA 应用 的步骤完成,这里 不再赘述。
应用 SessinBean 封装对实体的访问 根据 EJB3.0 规范中对容器的要求来看,实体不能和 EJB2.X 规范中的实体一 样可以绑定到 JNDI,因此 EJB 容器外的 Java 代码无法直接访问实体,可选的 方法就是使用会话 Bean 封装实体的操作,Java 客户端通过 JNDI 访问会话 Bean,从而达到操作实体的目标。 在 EJB3.0 标准下,开发一个会话 Bean 非常简单,我们只需要定义业务接口 类,然后为该业务接口提供 @ javax.ejb.Remote、@javax.ejb.Local 这样的注 释,表明该会话 Bean 提供 Remote 接口或者 Local 接口,也可以为一个业务接 口同时提供 @ javax.ejb.Remote、@javax.ejb.Local 注释,表示该接口同时支 持 Remote、Local 接口。另外还需要提供会话 Bean 的实现类,它需要实现 Remote 接口、Local 接口其中一种或者同时实现两种接口。 使用Apache OpenJPA开发EJB 3.0应用,第8部分(5)时间:2011-08-31 IBM 肖菁演示例子中我们为定义了 Remote 接口 IAnimalDAO、Local 接口 ILocalAnimalDAO,它们都提供可以持久化 Animal 对象的 persistAnimal 方法 。然后创建接口的实现类 AnimalDAO,它实现了 IAnimalDAO 和 ILocalAnimalDAO 两个接口,也就是说,这个会话 Bean 能够同时支持 Remote、 Local 访问。 IAnimalDAO 接口的全部源代码如下 :
ILocalAnimal 接口类的全部源代码如下:
AnimalDAO 实现类中实现了上面定义的两个接口 IAnimalDAO、 ILocalAnimalDAO,并且提供了基于 OpenJPA、Java EE 容器的实体访问实现代码 。实例中我们选择 @ javax.persistence.PersistenceContext 注释向会话 Bean 中注入 EntityManager 对象,根据实际需求的不同,还可以选择使用 @PersistenceUnit 注释向会话 Bean 中注入 EntityManagerFactory 对象。 AnimalDAO 中还使用了 javax.ejb.Stateless 注释,它用于声明当前的会话 Bean 是一个无状态的会话 Bean。
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |