rel="File-List" href="file:///C:%5CDOCUME%7E1%5Celeven%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C05%5Cclip_filelist.xml">
ADF中在由数据库中已存在的表建立实体对象时,会发生:
1、 完成属性名称的转换,例:Java会将数据库中名如manager_id之类的属性名转换成为managerid,即根据相应的规则进行转换,多是去掉下划线(”_”)
2、 完成SQL和Java中各列数据类型的转换,值得注意的是,VARCHAR转换成为String
3、 完成数据库中各属性的长度和精度的转换或映射
4、 完成主键和唯一性的转换或映射
5、 完成属性的强制性约束及其他约束条件的转换或映射
6、 根据外键关系完成实体之间关系的转换或映射
(在ADF中,其实是应用了XML来记录实体对象与数据库中的数据对象的对应关系)
补充:
(1) 如果表中有主外键关系,在生成实体的同时会将将其之间的关系同时在entities包下生成,一般会在entity包下新建专门的包来放置该关系
(2) 由于实体对象至少包含一个属性作为其主键,如果数据库中的数据对象没有主键,映射成为实体对象时则无法推断出哪个属性应该为主键,在这种情况下,jdeveloper会自动创建一个名为rowid的列,来对应数据表中的rowid,并将此属性作为该实体对象的主键。我们可以在随后手动进行修改,删除rowid属性,并设置其他属性为主键。