EJB3.0开发指南:实体Bean的继承:联合表策略

这个和单表策略差不多,唯一不同就是在存存储的时候规定每一个实体bean映射到独立的一张表上。

:

@Entity

@Inheritance(strategy = InheritanceType.JOINED, discriminatorType = DiscriminatorType.STRING)

@DiscriminatorColumn(name = "P_TYPE", nullable = true)

在这个策略下,每个实体Bean也是映射成各自独立的一张表,但是和每类一表策略不同的是,子实体bean的映射的表中只有新增的属性。

子实体bean通过联合父表得到数据。

 

@InheritanceJoinColumn@InheritanceJoinColumns用来指定联合的列名,如果不指定,外键将采用和父表主键相同的名称。

这个例子主要有以下几个文件,这个例子主要实现了PersonManWoman之间的继承关系,这个例子和上一个例子没多大差别,就是在实体Bean注释时候将InheritanceType.SINGLE_TABLE换成

InheritanceType.JOINED

 

请运行{$JBOSS_HOME}/bin目录下的run.bat:  run –c all,启动JBOSS

http://localhost:8080/jmx-console/HtmlAdaptor?action=inspectMBean&name=jboss%3Aservice%3DHypersonic%2Cdatabase%3DlocalDB,然后调用startDatabaseManager()方法,打开HSQL管理工具管理数据库。

 

EclipseAnt视图中执行ejbjar target。或者在命令行下,进入到此工程目录下,执行ant ejbjar,将编译打包发布此EJB

 

 

EclipseAnt视图中执行run target。或者在命令行下,进入到此工程目录下,执行ant run,测试这个EJB

posted @ 2004-12-13 09:01  反正我信了  阅读(133)  评论(0编辑  收藏  举报