例の POJO の概要
この例では、3 つのデータ・クラス Contact、PhoneNumber、および Address を使用します。各クラスには String 型の単純なプロパティがあります。また、Contact クラスには PhoneNumber オブジェクトのリストがあり、PhoneNumber クラスには Contact 型のプロパティがあります。それにより、Java クラス間で 1 対多のリレーションシップが作成されます。Jalapeño を使用して、データベース・スキーマでこのリレーションシップを適用する方法を検討します。最後に、Contact クラスには Address 型のプロパティがあります。
Contact
package contacts;
import java.util.ArrayList;
import java.util.List;
public class Contact {
private Address primaryAddress;
private String name;
private String contactType;
private List <PhoneNumber>phoneNumbers;
public Contact() {
this.setPhoneNumbers(new ArrayList <PhoneNumber> ());
}
//getters and setters follow
...
}
汎用コレクションを使用して phoneNumbers プロパティを定義し、そのコレクションの要素タイプとして PhoneNumber を指定しています。コレクションの要素タイプを指定しないと、コレクションにスキーマを生成できません。なお、PhoneNumber オブジェクトのリストは Contact のコンストラクタによって初期化されます。
PhoneNumber
package contacts;
public class PhoneNumber {
private String phoneNumberType;
private Contact owner;
private String number;
//getters and setters follow
...
}
Address
package contacts;
public class Address {
private String mCity;
private String mState;
private String mStreet;
private String mZip;
//getters and setters follow
...
}