WEB开发网
开发学院软件开发Java 使用 Apache OpenJPA 开发 EJB 3.0 应用,第 3 部... 阅读

使用 Apache OpenJPA 开发 EJB 3.0 应用,第 3 部分: 实体继承

 2010-04-19 00:00:00 来源:WEB开发网   
核心提示: 图 2. 第一种策略的数据库表现查看原图(大图)2. 类和子类分别保存在不同的数据库表中,互相之间没有关联这种情况下,使用 Apache OpenJPA 开发 EJB 3.0 应用,第 3 部分: 实体继承(3),开发者不理会类之间是否存在继承关系,为每一个类的持久化使用唯一的表,这种实现方式是

图 2. 第一种策略的数据库表现
使用 Apache OpenJPA 开发 EJB 3.0 应用,第 3 部分: 实体继承

查看原图(大图)

2. 类和子类分别保存在不同的数据库表中,互相之间没有关联

这种情况下,开发者不理会类之间是否存在继承关系,为每一个类的持久化使用唯一的表,父类对象保存在父类对应的表中,子类对象的信息保存在子类对应的表中,这也是通常的持久化框架采用的方式。下面这个图显示了这种情况下对象继承关系数据库中的表现。

以上一章节中提到的对象模型为例: Animal、Fish、Dog 三个类的对象实例都被保存在各自对应的数据表中。下面这个图显示了这种情况下对象继承关系数据库中的表现。

图 3. 第二种策略的数据库表现
使用 Apache OpenJPA 开发 EJB 3.0 应用,第 3 部分: 实体继承

查看原图(大图)

3. 类和子类分别保存在不同的数据库表中,子类中不保存父类中已有的属性,仅通过主键进行关联

这种情况下,父类和子类对应不同的表,但是子类对应的表中不再保存父类对应表中已经存在的字段信息,两个表之间通过关键字段关联起来,也就是数据库技术中通常所说的外健。这种实现方式是最理想化的一种,既能够处理对象之间的继承,又满足了关系数据库中对于设计范式的要求。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:使用 Apache OpenJPA

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接