EJB 3.0开辟指南之实体Bean的承当[Java编程]
本文“EJB 3.0开辟指南之实体Bean的承当[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在EJB3.0中,实体Bean可以实现担当关系. 比方有个Person的实体bean,它有姓名和性别两个属性.
上帝和女娲造人的时刻,造出两种人:Man和Woman.Man和Woman都是实体Bean,并且他们都担当Person.
单一表战略就是副实体和子实体的数据都存放在一张表中,同时指定一列用来辨别这些实体.
如:
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE, discriminatorType = DiscriminatorType.STRING)
@DiscriminatorColumn(name = "P_TYPE", nullable = true)
@ Inheritance的注释声明以下:
@ @Target({TYPE}) @Retention(RUNTIME)
public @interface Inheritance {
InheritanceType strategy() default SINGLE_TABLE;
DiscriminatorType discriminatorType() default STRING;
String discriminatorValue() default "";
}
这个注释用来指定担当利用的战略,以及为了辨别这些实体所用的列的范例与值.
@DiscriminatorColumn注释用在单一表战略和结合表战略上.用来指定辨别各实体所需的列.
@Target({TYPE}) @Retention(RUNTIME)
public @interface DiscriminatorColumn {
String name() default "";
boolean nullable() default false;
String columnDefinition() default "";
int length() default 10;
}
这个例子主要有以下几个文件,这个例子主要实现了Person和Man、Woman之间的担当关系,下面两章介绍的例子和这个例子相同.Man和Woman担当Person实体Bean.前面的例子一样,我们还是利用Client测试.
Person.java:实体Bean.
Man.java:实体Bean所依靠的类.
Woman.java:实体Bean所依靠的类.
PersonTest.java:会话Bean的业务接口
PersonTestBean.java:会话Bean的实现类
Client.java:测试EJB的客户端类.
jndi.properties:jndi属性文件,供应拜候jdni的基本配置属性.
Build.xml:ant 配置文件,用以编译、公布、测试、排除EJB.
下面针对每个文件的内容做一个介绍.
Person.java
package com.kuaff.ejb3.singleinheritance;
import javax.ejb.DiscriminatorColumn;
import javax.ejb.DiscriminatorType;
import javax.ejb.Entity;
import javax.ejb.GeneratorType;
import javax.ejb.Id;
import javax.ejb.Inheritance;
import javax.ejb.InheritanceType;
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE, discriminatorType = DiscriminatorType.STRING)
@DiscriminatorColumn(name = "P_TYPE", nullable = true)
public class Person implements java.io.Serializable
{
private int id;
private String name;
private String gender;
@Id(generate = GeneratorType.AUTO)
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public void setGender(String gender)
{
this.gender = gender;
}
public String getGender()
{
return gender;
}
}
以上是“EJB 3.0开辟指南之实体Bean的承当[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |