2011-07-30 57 views
0

我知道你應該擴展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; 
} 

在此先感謝。

回答

2

您的醫生和患者對象應該從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 { 
} 

 
+0

謝謝,我知道關於Java與傳承交易的方式。我不確定Play會如何處理這個問題。在超類中擴展模型,然後擴展超類,就像魅力一樣工作。我是JPA用戶,我正在學習如何讓遊戲封裝給我。有時我想看看發生了什麼。但我必須承認這個遊戲做得非常出色,我真的很喜歡它=) – wleao