ORMlite obsługuje dziedziczenie, ale nie obsługuje dziedziczenia-stratigies.
Poniżej znajduje się przykład dziedziczenia z ORMLite.
Załóż streszczenie nadklasą ów nie tabeli bazy danych ORMLite ale ma pewne pola bazy danych wykorzystywane przez wszystkie podklasy
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) utworzyć klasę, która dziedziczy ją i dodać kilka pól (ów Tabela bazy danych)
@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;
}
}
Nadzieję, że pomaga!
Przepraszam, może nie byłem wystarczająco jasny o linku. Pomyślałem, że może jest to już zaimplementowane rozwiązanie, ponieważ post jest od stycznia 2011 r., Ale dzięki za odpowiedź – Flow
Np @Flow. To kolejne głosowanie na tę funkcję. Jeśli chcesz pomóc dodać go do ORMLite, wyślij wiadomość e-mail na listy mailingowe. – Gray
Przykro mi to przywrócić, ale czy to oznacza, że jeśli klasa B rozszerza klasę A, nie możesz mieć dwóch różnych tabel, w których klasa B używa właściwości klasy A jako kolumn tabeli B? – Maxrunner