hibernate映射:精通Hibernate的映射继承关系 2

把每个具体类映射到张表是最简单映射方式如图14-2所示在关系数据模型中只需定义COMPANIES、HOURLY_EMPLOYEES和SALARIED_EMPLOYEES表为了叙述方便下文把HOURLY_EMPLOYEES表简称为HE表把SALARIED_EMPLOYEES表简称为SE表  HourlyEmployee类和HE表对应HourlyEmployee类本身rate属性以及从Employee... [阅读全文]

hibernate映射:精通Hibernate的映射继承关系一

在域模型中类和类的间除了关联关系和聚集关系还可以存在继承关系在图14-1所示域模型中Company类和Employee类的间为对多双向关联关系(假定不允许雇员同时在多个公司兼职)Employee类为抽象类因此它不能被例子化它有两个具体子类:HourlyEmployee类和SalariedEmployee类由于Java只允许个类最多有个直接父类因此Employee类、HourlyEmployee类和... [阅读全文]

hibernate映射:精通Hibernate的映射继承关系 3

hibernate-mapping    name="mypack.SalariedEmployee" table="SALARIED_EMPLOYEES"  id name="id" type="long" column="ID"  generator ="increment"/  /id    property name="name" type="" column="NAME" /  prop... [阅读全文]

hibernate映射:精通Hibernate的映射继承关系 4

这种映射方式只需为继承关系树Employee根类创建张表EMPLOYEES如图14-4所示在EMPLOYEES表中不仅提供和Employee类属性对应字段还要提供和它两个子类所有属型对应字段此外EMPLOYEES表中需要额外加入个串类型EMPLOYEE_TYPE字段用于区分Employee具体类型   id name="id" type="long" column="ID"  generator ... [阅读全文]

hibernate映射:精通Hibernate的映射继承关系 5

本节范例位于配套光盘sourcecodechapter1414.2目录下运行该前需要在SAMPLEDB数据库中手工创建COMPANIES表和EMPLOYEES表然后加入测试数据相关SQL脚本文件为/14.2schemasampledb.sql  在DOS命令行下进入chapter14根目录然后输入命令:  ant -file build2.xml run  就会运行BusinessService类... [阅读全文]

hibernate映射:精通Hibernate的映射继承关系 6

在这种映射方式下继承关系树每个类以及接口都对应个表在本例中需要创建EMPLOYEES、HE和SE表  如图14-6所示EMPLOYEES表仅包含和Employee类属性对应字段HE表仅包含和HourlyEmployee类属性对应字段SE表仅包含和SalariedEmployee类属性对应字段此外HE表和SE表都以EMPLOYEE_ID字段作为主键该字段还同时作为外键参照EMPLOYEES表   i... [阅读全文]

hibernate映射:精通Hibernate的映射继承关系 7

Company和Employee类的间为对多多态关联关系如果继承关系树根类对应个表或者每个类对应个表那么就能映射Company类employees集合本节介绍如何映射多对多态关联如图14-11所示ClassD和ClassA为多对多态关联关系  假定和ClassD对应表为TABLE_D和ClassA对应表为TABLE_A在TABLE_D中定义了外键A_ID它参照TABLE_A表主键  ClassD对... [阅读全文]

hibernate映射:精通Hibernate的映射继承关系 8

由于关系数据模型不允许个表外键同时参照两个表主键因此无法对TABLE_D表A_ID字段定义外键参照约束而应该通过其他方式如触发器来保证A_ID字段参照完整性由于TABLE_D表A_ID字段既可能参照TABLE_B表ID主键也可能参照TABLE_C表ID主键要求TABLE_B表和TALBE_C表ID主键具有相同SQL类型  在ClassD.hbm.xml文件中用元素来映射ClassDa属性:  an... [阅读全文]
1 共1条 分1页