国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

EJB3.0開發指南之實體Bean的繼承

2019-11-17 06:16:40
字體:
來源:轉載
供稿:網友
  在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;
 }

}
  指定使用P_TYPE列用來區別各實體Bean。

  Man.java



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 济南市| 毕节市| 富顺县| 保靖县| 剑阁县| 闽侯县| 延庆县| 武山县| 息烽县| 县级市| 平和县| 天峨县| 荔浦县| 东乌| 中卫市| 隆昌县| 县级市| 龙井市| 湾仔区| 永泰县| 简阳市| 清苑县| 淄博市| 吴川市| 大安市| 海兴县| 靖远县| 陕西省| 永胜县| 那坡县| 寻乌县| 苏州市| 宝清县| 永寿县| 巨野县| 华蓥市| 营山县| 江永县| 吉隆县| 宜州市| 郎溪县|