EJB 3.0 规范的变化可以大致分成2大部分

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

EJB 3.0 规范的变化可以大致分成2大部分:

1、 使用了jdk1.5中提供的 annotation 机制的编程模型。在EJB2.1中采用一些接口和部署时的描述符来完成类似的功能。

EJB的 annotations

在EJB3中所有的企业Bean都是POJO(Plan old Java object)和一些相关的描述符。用描述符可以用来定义Bean需要实现的 接口、O/R 映射时需要的信息、需要引用的资源等等。

2、 提供了一个基于Hibernate的 O/R Mapping 工具, EJB QL 发生了重大的变化。

当一个实体POJO类和EntityManager建立关系后,这个类就是可以实例化的类了,同时就时实例化上下文的一个部分。

JB3.0虽然提供了新的更简单的编程方法,但仍然保持向下兼容,EJB2.1中的部署描述符和 home/remote接口仍然有效。

目前EJB3.0支持的Annotations 包括:

@Entity

@Stateless

@Remote

@TransactionAttribute

@Table

@Id

@Basic

@Column

@ManyToOne

@OneToMany

@ManyToMany

@JoinColumn

@AssociationTable

无状态Bean的例子A stateless session bean (SLSB):

一个无状态Bean的代码如下:

import javax.ejb.*;

@Stateless

@Remote

public class HelloWorldBean {

public String sayHello() {

return "Hello World!!! Ejb 3.0 by tcf";

}

}

对上面代码的一点解释:

前面提到过EJB3.0中的各种Bean就是一个POJO,只需要加上相关的annotation就可以了。

@Stateless 表示这是一个无状态的Bean。

@Remote 表示这个Bean需要需要实现Remote接口,因为默认的都是local的。

待续

现在Resin 已经支持ejb3.0了,大家有兴趣可以尝试用一下。

欢迎交流

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航