EJB的三种组件

       EJB(Enterprise JavaBeans)是使用Java语言构造可移植的、可重用的和可伸缩的业务应用程序平台。EJB是EJB容器的特定运行时环境中执行的一段java代码,容器提供若干组件服务。
EJB组件有三种类型:
  • 会话bean;
  • 消息驱动bean;
  • 实体;
会话bean和消息驱动bean用于实现EJB应用程序的业务逻辑,而实体用于持久化。


      如图,EJB3 API的整体组织情况。java持久化API完全独立于EJB3容器。业务逻辑处理由两组件:会话bean,消息驱动bean容器管理。持久化对象成为实体,由持久化提供器通过EntityManager接口管理。
会话bean
       会话bean有两种类型:有状态(stateful)和无状态(stateless)。既可以在本地调用会话bean,也可以使用Java RMI远程调用。无状态会话bean可以暴露为Web服务。
消息驱动bean
       与会话bean一样,MDB也处理业务逻辑。但是,MDB在一个重要方面有所不同:客户端从不直接调用MDB方法。相反,有发送到消息服务器的消息触发MDB,这样就允许在系统组件之间发送异步消息。典型的消息服务器有IBM WebSphere MQ、Oracle Advanced Queueing 和TIBCO。MDB通常用于健壮系的集成和异步处理。
实体和JPA
       JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。持久化就是把java对象内包含的数据自动存储到数据库中。EJB3中的持久化由JPA管理。ORM在本质上是使用配置把java对象中保存的数据映射到数据库表的过程。持久化提供器在本质上是支持EJB3 Java持久化API(JPA)的ORM框架。
JPA定义了如下标准:
  • 用于把实体映射到数据表的ORM配置元数据的创建;
  • EntityManager API——用于对实体执行CRUD持久化操作的标准API;
  • Java持久化查询语言(JPQL),用于搜索和检索持久化应用程序数据。
       因为JPA标准化了Java平台的ORM框架,所以你可以插入ORM产品(比如JBoss Hibernate、Oracle TopLink或BEA Kodo )作为应用程序和底层JPA“持久化提供器”。
      使用API构造应用程序的持久化逻辑,就必须使用实体。实体是持久化到数据库中的java对象。
      JPA EntityManager接口以设计提供持久化服务的方式管理实体。虽然实体通知JPA提供器如何映射到数据库,的是那会实体并不持久化自己。EntityManager接口从实体读取ORM元数据并且执行持久化操作。JPA提供处理生命周期管理、性能优化、缓存和事务管理的功能。
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值