使用 Apache OpenJPA 开发 EJB 3.0 应用,第 3 部分: 实体继承
2010-04-19 00:00:00 来源:WEB开发网核心提示: 图 2. 第一种策略的数据库表现查看原图(大图)2. 类和子类分别保存在不同的数据库表中,互相之间没有关联这种情况下,使用 Apache OpenJPA 开发 EJB 3.0 应用,第 3 部分: 实体继承(3),开发者不理会类之间是否存在继承关系,为每一个类的持久化使用唯一的表,这种实现方式是
图 2. 第一种策略的数据库表现
查看原图(大图)
2. 类和子类分别保存在不同的数据库表中,互相之间没有关联
这种情况下,开发者不理会类之间是否存在继承关系,为每一个类的持久化使用唯一的表,父类对象保存在父类对应的表中,子类对象的信息保存在子类对应的表中,这也是通常的持久化框架采用的方式。下面这个图显示了这种情况下对象继承关系数据库中的表现。
以上一章节中提到的对象模型为例: Animal、Fish、Dog 三个类的对象实例都被保存在各自对应的数据表中。下面这个图显示了这种情况下对象继承关系数据库中的表现。
图 3. 第二种策略的数据库表现
查看原图(大图)
3. 类和子类分别保存在不同的数据库表中,子类中不保存父类中已有的属性,仅通过主键进行关联
这种情况下,父类和子类对应不同的表,但是子类对应的表中不再保存父类对应表中已经存在的字段信息,两个表之间通过关键字段关联起来,也就是数据库技术中通常所说的外健。这种实现方式是最理想化的一种,既能够处理对象之间的继承,又满足了关系数据库中对于设计范式的要求。
- ››使用linux中的quota教程
- ››apache设置域名绑定 以及绑定不起作用的排查
- ››使用jxl生成带动态折线图的excel
- ››apache rewrite将指定URL转向指定的几个服务器
- ››使用mysql mysqldump进行数据库迁移
- ››使用jquery是新tab形式
- ››使用QUnit进行Javascript单元测试
- ››使用UITextFieldDelegate来隐藏键盘
- ››使用公式提取Excel中的日期后发现格式不对
- ››使用SQL Azure 的BI 解决方案
- ››使用PLSQL Developer工具导出sql文件
- ››使用双缓冲技术实现Android画板应用
更多精彩
赞助商链接