我正在使用 Play 2 在 Java 中构建应用程序。我正在对不同类别的人进行建模,每个人与与应用程序流程相关的其他一些类具有不同的关系。每个Application
都有一个Signatory
、一个CertificateHolder
和一个EnrolmentOfficer
。
我意识到,由于一个人可能是这些事物中的任何一个或全部,因此将信息存储三遍是多余的。所以一些重构是有序的!
我决定创建一个类,通过对象组合存储 、 和 类中的Person
每一个。然后我可以使用符号访问它们的任何属性。Signatory
CertificateHolder
EnrolmentOfficer
person.signatory.
我想知道的是:由于三个专门的类在 a 之外不存在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
和存储单独实体的需要EnrolmentOfficer
,但我不确定ebean是否可以正确地将这个设计转换为数据库模式。
哪种方法更适合我的目的?
编辑:内部类方法不起作用;它与 ebean 处理关系的方式不兼容。我要请版主删除这个话题。