2017-07-31 29 views
2

我使用Springboot與MongoDB中,我有一個這樣的類:Springboot:如何刪除子類屬性上的註釋?

class Mcq { 
    @DBRef public List<Question> questions; 
} 

class McqInstance extends Mcq { 
    // Here I want a List<QuestionAnswers> questions instead, without DBRef 
} 

我怎樣才能做這樣的事情,這可能嗎?還是我應該重新聲明McqInstance而不擴展Mcq?

回答

0

由於UserF40的答案,我發現了一個簡單的解決方案,而不具有冗餘代碼:使用抽象類:

abstract class AbstractMcq { 
    // common properties and functions 
} 

class Mcq extends AbstractMcq { 
    @DBRef public List<Question> questions; 
} 

class McqInstance extends AbstractMcq { 
    public List<QuestionAnswers> questions; 
} 
1

沒有延伸的Redeclare。關閉這個簡短的片段,對於多選題的建模,擴展看起來不正確。

問問你自己爲什麼用戶需要從課堂上延伸出問題?

+0

我需要延長主類,因爲在McqInstance,問題是隨機和答案的順序也是如此,+也許所有的問題都沒有用在Mcq的實例中 我不想重新聲明我的課程,因爲它會使我的代碼冗餘,但我使用你的建議並找到了一個替代方案: 我將聲明一個AbstractMcq對象沒有問題列表,我將在Mcq類和McqInstance類中擴展它 –