EJB3的XML Schema第七讲

紧接上文:
<xsd:selector xpath="javaee:env-entry"/>
<xsd:field xpath="javaee:env-entry-name"/>
</xsd:unique>
</xsd:element>
</xsd:choice>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="entity-beanType">
<xsd:annotation>
<xsd:documentation>
entity-beanType 声明了一个实体bean。声明由以下内容组成:
- 可选的描述。
- 可选的显示名。
- 可选的图标元素,这个元素包含了一个小的和大的图标文件名。
- 一个分配到部署描述中企业bean 的唯一名称。
- 一个可选的mapped-name 元素,它可以被用于提供供应商特有的部署信息,
例如实体bean 远程home 接口的jndi-name。这个元素不要求所有的实现都支持它。使用这个元素的应用都是不可移植的。
- 实体bean 远程home 和remote 接口的名字,如果有的话。
-实体bean 本地home 和local 接口的名字,如果有的话。
- 实体bean 的实现类。
- 可选的实体bean 的持久化管理类型。如果没有指定这个元素,则缺省是容器。
- 实体bean 的主键类名。
- 实体bean 重入指示。
- 可选的实体bean cmp-version 规范。
- 可选的实体bean 抽象schema 名字规范。
- 可选的容器管理字段的列表。
- 可选的主键字段规范。
- 可选的bean 环境条目声明。
- 可选的bean 的EJB 引用声明。
- 可选的bean 的本地EJB 引用声明。
- 可选的bean 的web 服务引用声明。
- 可选的安全角色引用声明。
- 可选的用于bean 方法执行的安全标识声明。
- 可选的bean 资源管理器连接工厂引用声明。
- 可选的bean 的资源环境引用声明。
- 可选的bean 的消息目的地引用声明。
- 可选的用于finder 和select 方法的查询声明集,这些方法是用于cmp-version 2.x 的实体bean。
必须为使用容器管理持久化和cmp-version 2.x 的实体bean 指定可选的abstract-schema-name 元素。
如果实体的持久化类型是容器,那么在部署描述中可以出现可选的primkey-field。
如果实体的persistence-type 是容器(Container),那么在部署描述中可以
出现可选的cmp-version 元素。如果persistence-type 是Container,且没有指定cmp-version,那么它的值缺省是2.x。
如果实体bean 的cmp-version 是1.x,那么必须指定可选的home 和remote元素。
如果实体bean 有远程home 和remote 接口,那么必须指定可选的home 和remote 元素。
如果实体bean 有本地home 和local 接口,那么必须指定可选的local-home和local 接口。
必须同时指定local-home 和local 元素,或home 和remote 元素。
如果persistence-type 是Container 且cmp-version 是2.x,同时已经为实体bean定义了除了findByPrimaryKey 方法以外的其他查询方法,那么必须指定可选的query 元素。
其他的可选元素,如果它们出现为空则忽略他们。
如果persistence-type 是Container 且cmp-version 是1.x ,那么至少指定一个cmp-field 元素。如果persistence-type 是Bean,则可以不出现cmp-field 元素。
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="javaee:descriptionGroup"/>
<xsd:element name="ejb-name" type="javaee:ejb-nameType"/>
<xsd:element name="mapped-name" type="javaee:xsdStringType" minOccurs="0"/>
<xsd:element name="home" type="javaee:homeType" minOccurs="0"/>
<xsd:element name="remote" type="javaee:remoteType" minOccurs="0"/>
<xsd:element name="local-home" type="javaee:local-homeType" minOccurs="0"/>
<xsd:element name="local" type="javaee:localType" minOccurs="0"/>
<xsd:element name="ejb-class" type="javaee:ejb-classType"/>
<xsd:element name="persistence-type" type="javaee:persistence-typeType"/>
<xsd:element name="prim-key-class" type="javaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
prim-key-class 元素包含了实体bean 主键类的全称。如果主键类的定义在部署时被改变,那么prim-key-class 元素应当被指定为java.lang.Object.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="reentrant" type="javaee:true-falseType">
<xsd:annotation>
<xsd:documentation>
Reentrant 元素指定了实体bean 是否是可重入的。Reentrant 元素必须是true或false。
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="cmp-version" type="javaee:cmp-versionType" minOccurs="0"/>
<xsd:element name="abstract-schema-name" type="javaee:java-identifierType" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
abstract-schema-name 元素指定了使用cmp-version 2.x 的实体bean 的抽象schema 类型的名称。它用于EJB QL 查询。例如,用于一个本地接口是com.acme.commerce.Order 的实体的abstract-schema-name 是 Order.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="cmp-field" type="javaee:cmp-fieldType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="primkey-field" type="javaee:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
primkey-field 元素用于指定使用容器管理持久化的实体bean 的主键字段名称。
primkey-field 必须是声明在cmp-field 元素中的字段,且这个字段类型必须和主键类型一致。
如果主键映射到多个容器管理的字段(也就是,主键是组合主键),则不使用primkey-field 元素。在这种情况下,主键类的所有字段必须是public 的,且他们的名字必须对应于组成主键的实体bean 的字段名。
</xsd:documentation>
</xsd:annotation>
</xsd:element>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值