频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

映射属性|AttributeOverride

来源:中国IT实验室 作者:佚名 出处:巧巧读书 2008-05-13 进入讨论组

@AttributeOverrides由多个@AttributeOverride注释组成,每个@AttributeOverride表示属性的映射,它的定义如以下所示:

@Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)

public @interface AttributeOverride {

String name();

Column column();

}

在使用@AttributeOverride注释应注意以下几方面的问题:

l name属性表示嵌入式类中的属性名称。

l column属性表示,所嵌入的实体类中的列定义,其中@Column标记表示的意义请读者参阅5.2.2小节。

l 例如将tb_customer表中的customer_zip字段映射为Address中的属性zip。代码如下所示:

@AttributeOverride(name = "zip",

column = @Column(name = "customer_zip")

)

l 使用嵌入式类的好处是:多个实体中都可以共享一个嵌入式类,方便了对实体的操作。例如现在ContactEO也嵌入Address类,就很方便的映射为以下所示:

public class CustomerEO implements Serializable {

private Integer id;

private String name;

private String nickname;

……getter和setter方法省略

private Address address;

@Embedded

@AttributeOverrides( {

@AttributeOverride(name = "zip", column = @Column(name = "contact_zip")),

@AttributeOverride(name = "line1", column = @Column(name = "contact_line1")),

})

public Address getAddress() {

return address;

}

public void setAddress(Address address) {

this.address = address;

}

}

进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章