java 域模型_4.1.3 实体域模型与关系数据模型

4.1.3  实体域模型与关系数据模型

模型是对现实的一种抽象。

实体域模型则是对真实世界中的物质实体(如学生、老师、商品等)的抽象,它由实体域对象组成,实体域对象用来代表这些真实世界中的物质实体。在Java EE应用中,实体域对象是指实体EJB或POJO(JavaBean形式的实体域对象),若无特别声明,本书所说的实体域对象默指POJO。

例如,在客户关系管理系统中城市实体类City.java为:

d3a21e66708dba13b66c6b240f0f9975.png

}

publicvoidsetCitycode(java.lang.String citycode){

this.citycode = citycode;

}

// cityname的get/set方法对

publicjava.lang.String getCityname(){

returnthis.cityname;

}

publicvoidsetCityname(java.lang.String cityname){

this.cityname = cityname;

}

// clientSet的get/set方法对

publicjava.util.Set getClientSet(){

returnthis.clientSet;

}

publicvoidsetClientSet(java.util.Set clientSet){

this.clientSet = clientSet;

}

//重载Object的equals方法

publicbooleanequals(Object rhs){

if(rhs ==null)

returnfalse;

if(! (rhsinstanceofCity))

returnfalse;

City that = (City) rhs;

if(this.getCityid() ==null|| that.getCityid() ==null)

returnfalse;

return(this.getCityid().equals(that.getCityid()));

}

//重载Object的hashCode方法

publicinthashCode(){

if(this.hashValue ==0)

{

intresult =17;

intcityidValue =this.getCityid() ==

null?0:this.getCityid().hashCode();

result = result *37+ cityidValue;

this.hashValue = result;

}

returnthis.hashValue;

}

}

目前,关系型数据库的应用最为广泛,关系数据模型便是对关系型数据库中关系数据(如表、视图等)的一种静态描述。

例如,与上面City实体域对象对应的关系模型如表4-1所示。

表4-1  City数据表

字 段 名 称

数 据 类 型

主键

自增

允 许 为 空

描述

cityid

int

增1

城市ID

provinceid

int

所属省份ID

citycode

varchar(20)

城市代号

cityname

varchar(40)

城市名称

读者也可以使用E-R图来描述关系模型,例如,某电子商城的关系模型如图4-3所示。

3acaeb4b852d1c4cbb96cafb7f53423a.png

综上所述,实体域模型是面向对象的,而关系数据模型是面向关系型数据库的,它们之间的数据交换需要一个映射的过程。

例如,实体域对象City与关系数据表city之间可通过Hibernate的映射配置文件City.hbm.xml进行映射。

735fd2e6d9eecbc9daf48e64569dbb47.png

【责任编辑:董书 TEL:(010)68476606】

点赞 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值