EJB 3.0 开发指南之依赖值对象

豆豆网   技术应用频道   2006年11月28日  【字号: 收藏本文

本文详细介绍EJB 3.0 开发指南之依赖值对象

  在上面的章节我们提到,实体bean的属性可以是java基本对象、Date等,事实上,实体Bean的属性也可以是其他的java对象。这些Java对象不能直接从持久化上下文中读取,它依赖于主实体bean。不象关联实体Bean,在EJB3.0中不支持依赖值对象的集合。

  依赖值对象不支持继承,这将在EJB3.1中在讨论。

  依赖类需要使用◎DependentObject来注释:

@Target({TYPE}) @Retention(RUNTIME)
public @interface DependentObject {
 AccessType access() default PROPERTY;
}

  这个注释可以指定容器访问这个类的方法,是通过属性还是直接通过字段来访问。

  在实体Bean的一个属性需要使用依赖值对象,那么这个属性的get方法需要使用@Dependent注释:

@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface Dependent {
 DependentAttribute[] value() default {};
}

  这个注释可以指定依赖的属性DependentAttribute:

@Target({}) @Retention(RUNTIME)
public @interface DependentAttribute {
 String name();
 Column[] column() default {};
}

  可以指定属性名称和映射的列名。这里,一个主实体Bean的属性可以映射到数据表中的多列。

  如果你还不太明白,看下面的例子。

  这个例子主要有以下几个文件,这个例子主要实现了管理学生的功能。Student是一个实体Bean,这个Bean的name属性是一个类,也就是Name类,这个Name类就是一个依赖值对象。StudentDAOBean是一个无状态的会话Bean,用来调用实体Bean。和前面的例子一样,我们还是使用Client测试。

  ·Student.java:实体Bean。

责编:豆豆技术应用

正在加载评论...