- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向 Java 开发人员的 db4o 指南 超越简单对象
面向 Java 开发人员的 db4o 指南: 超越简单对象
使用 db4o 创建、更新与删除结构化对象
Ted Neward, Principal, Neward Associates
Ted Neward 是 Neward Associates 的主管,负责有关 Java、.NET、XML 服务和其他平台的咨询、指导、培训和推介。他现在居住在华盛顿州西雅图附近。
简介:?到目前为止,我们在 db4o 中创建并操作对象看起来都比较简单 —— 事实上,甚至有点太简单了。本文中,热心于 db4o 的 Ted Neward 将超越这些简单对象,他将展示简单对象结构化(引用对象的对象)时发生的操作。此外,他还阐述了包括无限递归、层叠行为以及引用一致性在内的一些话题。
查看本系列更多内容
标记本文!
发布日期:?2007 年 7 月 09 日 级别:?初级 访问情况?126 次浏览 建议:?0?(添加评论)
平均分 (共 0 个评分 )
一段时间以来,在 面向 Java 开发人员的 db4o 指南 中,我查看了各种使用 db4o 存储 Java 对象的方法,这些方法都不依赖映射文件。使用原生对象数据库的其中一个优点就是可以避免对象关系映射(也许这不是重点),但我曾用于阐述这种优点的对象模型过于简单,绝大多数企业系统要求创建并操作相当复杂的对象,也称为结构化对象,因此本文将讨论结构化对象的创建。
结构化对象 基本上可以看成是一个引用其他对象的对象。尽管 db4o 允许对结构化对象执行所有常用的 CRUD 操作,但是用户却必须承受一定的复杂性。本文将探究一些主要的复杂情况(比如无限递归、层叠行为和引用一致性),以后的文章还将深入探讨更加高级的结构化对象处理问题。作为补充,我还将介绍探察测试(exploration test):一种少为人知的可测试类库及 db4o API 的测试技术。
从简单到结构化
清单 1 重述了我在介绍 db4o 时一直使用的一个简单类 Person:
清单 1. Person
package com.tedneward.model;
public class Person
{
public Person()
{ }
public Person(String firstName, String lastName, int age, Mood mood)
{
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.mood = mood;
}
public String getFirstName() { return firstName; }
public void setFirstName(String value) { firstName = value; }
public String getLastName() { return lastName; }
public void setLastName(String value) { lastName = value; }
public int getAge() { return age; }
public void setAge(int value) { age = value; }
public Mood getMood() { return mood; }
public void setMood(Mood value) { mood = value; }
public String toString()
{
return
[Person: +
firstName = + firstName + +
lastName = + lastName + +
age = + age + +
mood = + mood +
];
}
public boolean equals(Object rhs)
{
if (rhs == this)
return true;
if (!(rhs instanceof Person))
您可能关注的文档
最近下载
- 五恒系统方案书.pdf VIP
- 全套干扰峰分析图解析.docx
- 第十五讲新时代与中华民族共同体建设(2012— -中华民族共同体概论专家大讲堂课件.pdf VIP
- 种植施肥机械——栽植机械(水稻钵苗栽植机械)课件讲解.pptx VIP
- 企业工会助推企业高质量发展.docx VIP
- 施工技术管理措施.doc VIP
- 第六章维生素与辅酶.ppt VIP
- DB65T 4063-2017 沙化土地封禁保护区沙障技术技术工程.pdf VIP
- 2026江苏辖区农村商业银行泗阳农村商业银行校园招聘15人笔试备考试题及答案解析.docx VIP
- 种植施肥机械——栽植机械(水稻插秧机)课件讲解.pptx VIP
文档评论(0)