本文详细介绍EJB 3.0开发指南之多表映射
在前面的例子中,我们每一个实体Bean只映射到数据库中的一张表上。事实上,一个实体Bean可以映射到多张表上。在一些需要字典表的项目上会经常用到,象以前我做过的项目,使用到很多国标规定的数据表。在我们下面这个例子中,性别作为一个字典表存在,学生这个实体将映射到学生信息表、性别表这两个表。
从表可以使用@SecondaryTable来注释:
@Target({TYPE}) @Retention(RUNTIME)
public @interface SecondaryTable {
String name();
String catalog() default "";
String schema() default "";
JoinColumn[] join() default {};
UniqueConstraint[] uniqueConstraints() default {};
}这个注释可以指定表名、分类、schema、联合列、约束等。假如你使用多张表,你可以使用下面的注释来声明多张表:
@SecondaryTable
@Target({TYPE}) @Retention(RUNTIME)
public @interface SecondaryTables {
SecondaryTable[] value() default {};
}这个例子主要有以下几个文件,这个例子主要实现了管理学生的功能。Student是一个实体Bean,这个Bean的name属性是一个类,也就是Name类,这个Name类就是一个依赖值对象。学生的性别映射到第二张表中。StudentDAOBean是一个无状态的会话Bean,用来调用实体Bean。和前面的例子一样,我们还是使用Client测试。
这个例子和上一个例子基本相同,只是Student.java和Client有所不同。
Student.java:实体Bean。
Name.java:实体Bean所依赖的类。
StudentDAO.java:会话Bean的业务接口
StudentDAOBean.java:会话Bean的实现类
责编:豆豆技术应用
点击搜索更多"多表映射"相关信息
正在加载评论...
- Photoshop制作梦幻水晶球
- Windows Vista五个没有兑现的承诺
- 惊艳!Ubuntu 7.10系统新功能评测
- PhotoShop文字特效 Photoshop动感光影字重现黑客帝国
- 鼠绘:用Photoshop打造阿尔卡特手机
- JAVA中的反射机制详解
- J2EE:web开发中的缓存问题的研究(一)
- web开发中的缓存问题的研究(二)
- JDK 1.5中实现面向对象形式的SQL语句
- JSP中的pageEncoding和contentType属性