Play 2 を使用して Java でアプリケーションを作成しています。アプリケーション プロセスに関連する他のクラスとそれぞれ異なる関係を持つさまざまなクラスの人々をモデル化していました。それぞれApplicationにSignatory、CertificateHolder、および がありEnrolmentOfficerます。
一人の人がそれらのいずれかまたはすべてである可能性があるため、それらに関する情報を 3 回保存するのは冗長であることに気付きました。それで、いくつかのリファクタリングが整いました!
オブジェクト構成を介して、、、およびクラスをそれぞれ1Personつずつ格納する 1 つのクラスを作成することにしました。その後、表記法を使用してそれらのプロパティにアクセスできました。SignatoryCertificateHolderEnrolmentOfficerperson.signatory.
私が疑問に思っているのは、3 つの特殊なクラスが の外に存在しないPersonため、内部クラスを使用して目標を達成する方がよいでしょうか? 私は次のように意味します:
public class Person {
public class Signatory {
// Signatory fields go here
}
public class CertificateHolder {
// CertificateHolder fields go here
}
public class EnrolmentOfficer {
// EnrolmentOfficer fields go here
}
// More general Person code goes here
}
Signatory、CertificateHolder、およびごとに別個のエンティティをデータベースに格納する必要がなくなるように思われますが、 ebeanがこの設計をデータベース スキーマに適切に変換できるEnrolmentOfficerかどうかはわかりません。
どちらの方法が私の目的に適していますか?
編集:内部クラス メソッドは機能しません。ebean が関係を処理する方法と互換性がありません。モデレーターにこのトピックの削除を依頼します。