如何让继承在我的模型层中工作?

时间:2011-07-30 23:26:09

标签: playframework

我知道您应该扩展Model以获得所有jpa功能。但是,java不允许多重继承...因此,我想知道如何在架构中发挥以下设计:

public class Person extends Model {
}

// should be able to extend Person
public class Doctor extends Model {
}

// should be able to extend Person     
public class Patient extends Model {
}

public class Item extends Model {
    // Doens't matter whether it's a Doctor or a Patient
    @ManyToMany
    public List<Person> owners;
}

提前致谢。

1 个答案:

答案 0 :(得分:2)

您的Doctor和Patient对象应该从Person继承。 Java不允许多重继承,但您可以使用继承模型的Person扩展子对象。


public class Person extends Model {
}

public class Doctor extends Person {
}

public class Patient extends Person{
}

public class Item extends Model {
    @ManyToMany
    public List owners;
}
 

你在Java中做不到的是:



public class Doctor extends Person, Model {
}