JDO对一个需要存储的类强加了一个要求:一个无参数的构造器。如果你在类代码中不定义任何构造器,编译器会自动产生一个无参数的构造器;而如果你定义了带参构造器,你就必须再定义一个无参构造器,可以将其声明为private以禁止外部访问。如果你不定义这个无参构造器,一些JDO产品会自动为你产生一个,但这只是具体的JDO产品提供的功能,是不可移植的。
例1-2显示了Actor类的 源码。在我们的目标中,所有的演员都有一个不会重复的名字来标识自己,可以是与出生时的姓名不同的化名。基于此,我们用一个String来表示演员的姓名。每个演员可能扮演一到多个角色,类中的"roles"成员表示Actor与Role关系中Actor的这一边的属性。第①行的注释仅仅为了文档化,它并不为JDO实现任何特殊的功能。第②行和