ORMlite विरासत का समर्थन करता है लेकिन यह विरासत-स्ट्रैटजीज का समर्थन नहीं करता है।
ORMLite के साथ विरासत का एक उदाहरण निम्नलिखित है।
एक सार सुपर क्लास नहीं एक ORMLite डेटाबेस तालिका thats बनायें लेकिन सभी उपवर्गों
public abstract class Event {
@DatabaseField(columnName="id", generatedId = true)
protected int _id;
@DatabaseField(columnName="name")
protected String name;
@DatabaseField(columnName="date")
protected Date date;
@DatabaseField(columnName="type")
protected String type;
public abstract void setName(String name);
public abstract void setDate(Date date);
public abstract void setType(String type);
}
2) एक वर्ग है कि यह विरासत में बना सकते हैं और कुछ क्षेत्रों को जोड़ने (thats एक डेटाबेस तालिका) द्वारा इस्तेमाल किया कुछ डेटाबेस फ़ील्ड है
@DatabaseTable(tableName="atividade")
public class Atividade extends Event {
@DatabaseField(columnName="ala")
protected String ala;
public String getAla() {
return ala;
}
public void setAla(String ala) {
this.ala = ala;
}
public Atividade(String name, Date date, String type, String ala) {
this.setName(name);
this.setDate(date);
this.setTipo(type);
this.setAla(ala);
}
Atividade(){
}
@Override
public void setName(String name) {
this.name = name;
}
@Override
public void setDate(Date date) {
this.date = date;
}
@Override
public void setType(String type) {
this.type = type;
}
}
आशा है कि मदद करता है!
स्रोत
2013-05-19 06:39:43
क्षमा करें, शायद मैं लिंक के बारे में पर्याप्त स्पष्ट नहीं था। मैंने सोचा कि शायद अब उनके लिए एक कार्यान्वित समाधान है, क्योंकि यह पद जनवरी 2011 से है, लेकिन आपके उत्तर – Flow
एनपी @ फ्लो के लिए धन्यवाद। यह उस सुविधा के लिए एक और वोट है। यदि आप इसे ORMLite में जोड़ने में सहायता करना चाहते हैं, तो मेलिंग सूचियों पर कुछ ईमेल भेजें। – Gray
इसे वापस लाने के लिए खेद है, लेकिन इसका मतलब यह है कि यदि कक्षा बी कक्षा ए को बढ़ाता है, तो आपके पास दो अलग-अलग टेबल नहीं हो सकते हैं, जहां कक्षा बी कक्षा ए गुणों का उपयोग तालिका बी कॉलम के रूप में करता है? – Maxrunner