`
talin2010
  • 浏览: 503033 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

EJB3(中文版) 第十一集 Embedded Objects

阅读更多

Java 持久化规范允许你插入非实体的Java对象在实体组件中并且映射的嵌入对象属性值到实本表中的栏位.这些对象没有任何标识并且被包含的实体组件类所专有.@EmbeddedId主键的规则非常的简单如同前面的例子.我们首先定义一个内部对象:

package com.titan.domain;

import javax.persistence.*;

@Embeddable

public class Address implements java.io.Serializable {

private String street;

private String city;

private String state;

public String getStreet( ) { return street; }

public void setStreet(String street) { this.street = street; }

public String getCity( ) { return city; }

public void setCity(String city) { this.city = city; }

public String getState( ) { return state; }

public void setState(String state) { this.state = state; }

}

内部的Address类有@Column映射定义在里面.其次,使用@javax.persistence.Embedded注释在Customer组件类内的嵌入实例Address,类:

package javax.persistence;

public @interface Embedded {}

同样的@EmbeddedId,@Embedded注释能够被联合同@AttributeOverrides注释一同使用如果你想覆盖指定嵌入类的信息.下面的例子显示如果覆盖.如果你不想覆.省去@AttributeOverrides注释.

package com.titan.domain;

import javax.persistence.*;

@Entity

@Table(name="CUSTOMER_TABLE")

public class Customer implements java.io.Serializable {

private long id;

private String firstName;

private String lastName;

private Address address;

...

@Embedded

@AttributeOverrides({

@AttributeOverride

(name="street",

column=@Column(name="CUST_STREET")),

@AttributeOverride(name="city", column=@Column(name="CUST_CITY")),

@AttributeOverride(name="state", column=@Column(name="CUST_STATE"))

})

public Address getAddress( ) {

return address;

}

...

}

在本例中,我们映射Address类属性到Customer_table表中的栏位.如果你不想指定@Embedded注释和Address类是序列化的,那么持久化提供者假定它是@Lob类型与序列化的字节流到Customer_table 表中的栏位.

看一下XML映射文件:

<entity-mappings>

<embeddable class="com.titan.domain.Address" access-type="PROPERTY"/>

<entity class="com.titan.domain.Customer" access="PROPERTY">

<attributes>

<id name="id"/>

<embedded name="address">

<attribute-override name="street">

<column name="CUST_STREET"/>

</attribute-override>

<attribute-override name="city">

<column name="CUST_CITY"/>

</attribute-override>

<attribute-override name="state">

<column name="CUST_STATE"/>

</attribute-override>

</embedded>

</attributes>

</entity>

</entity-mappings>

这个看起来非常准确的<embedded-id>映射,除了映射一个指定的属性使用<embedded>元素,其它的都相同.

简而言之,都是关于基本的属性映射.在下一章中,我们将讨论怎样映射复杂的关在多个实体组件之间.

我的联系方式:

QQ:495585885

Email:liuyuhui_007@yahoo.com.cn

我的博客:http://hi.baidu.com/vsandjava

下载地址:

主页公布邮箱或

http://lyh007.gbaopan.com/files/2d0f192dbab34ded90da94796b21d4ec.gbp
分享到:
评论

相关推荐

    ejb3中文版

    ejb3中文版

    EJB3(中文版)EJB3(中文版)

    EJB3(中文版)EJB3(中文版)EJB3(中文版)EJB3(中文版)EJB3(中文版)EJB3(中文版)EJB3(中文版)

    EJB API中文版

    EJB API中文版,很详细的ejb api的中文版本,就像是jdk api一样

    ejb3中文版pdf

    ejb3.0 中文版教程

    ejb3(中文版).pdf

    ejb3部分章节中文版,对学习ejb3有很大帮助

    精通EJB3.0 中文版 3/3

    《精通EJB3.0》共分为4个部分:第一部分对EJB编程基础进行介绍,概要性地对EJB进行了阐述;第二部分重点关注EJB编程的具体内容和过程,向开发者展示了如何使用会话Bean、将会话Bean发布为Web服务、消息驱动Bean;第...

    Head.First.EJB(中文版)

    ( [Head.First.EJB(中文版)].(美).西勒,.(美).贝茨.扫描版

    精通EJB3.0 中文版 1/3

    《精通EJB3.0》共分为4个部分:第一部分对EJB编程基础进行介绍,概要性地对EJB进行了阐述;第二部分重点关注EJB编程的具体内容和过程,向开发者展示了如何使用会话Bean、将会话Bean发布为Web服务、消息驱动Bean;第...

    EJB3(中文版)PDF

    EJB3.0(中文版)

    EJB规范中文简版(3本)

    EJB3核心规范 EJB3持久化规范(简体中文版) MS1_1规范(简体中文版)

    EJB3.0中文 版

    本教程适合具有Java 语言基础的EJB 初学者。有读者来邮件问需不需要先学EJB2.0,作者明确地告诉你不用 学了。随着EJB3 的发展,EJB2 将会逐步成为历史。

    EJB3的三本好书第2本, EJB3 in Action 2007

    EJB3的三本好书第二本,最好的介绍ejb3的书,看过之后,其他的书都送人了,而且附带的源代码,几乎包括了所有的主流应用服务器的例子,glassfish, jboss, weblogic, oracleAS 3本书分别是: 1. Beginning EJB3 ...

    ejb3.0中文版--

    ejb3.0中文版 ejb3.0中文版 ejb3.0中文版

    EJB3的三本好书第3本 Mastering EJB3 4ed

    EJB3的三本好书之三,也很不错的一本ejb3的书籍,是英文版,附带源代码,这本书的好处是与Mastering EJB 3ed有一定的继承性,可以对比来看. 3本书的地址 1. Beginning EJB3 Application Development From Novice to ...

    Head First EJB(中文版)

    Head First 系列丛书之 Head First EJB(中文版),pdf版,高清版。

    精通EJB(中文版)第三版

    本书是阐述ejb2.1的相关知识,最令人兴奋的就是ejb的规范

    Expert One-on-One J2EE Development Without EJB中文版.pdf.7z.001

    Expert One-on-One J2EE Development Without EJB中文版.pdf.7z.001 (共3个)

    ejb3 带源码

    Mastering+EJB3 EJB3+IN+ACTION Beginning+EJB3+Application+Development

    EJB3开发指南《EJB.3.Developer.Guide》

    EJB3开发指南英文版《EJB.3.Developer.Guide》 出版商:PacketPublishing 出版日期:2008年5月 页数:276 简介: 第一章:EJB3体系结构简介 ...第十一章:实现EJB3的WebSerivce 第十二章:EJB3安全

Global site tag (gtag.js) - Google Analytics