ORMlite hỗ trợ kế thừa nhưng không hỗ trợ phân đoạn thừa kế.
Sau đây là ví dụ về Thừa kế với ORMLite.
Tạo một lớp cha trừu tượng thats không một cơ sở dữ liệu bảng ORMLite nhưng có một số lĩnh vực cơ sở dữ liệu được sử dụng bởi tất cả các lớp con
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) Tạo một lớp kế thừa nó và thêm một số lĩnh vực (thats một Bảng Cơ sở dữ liệu)
@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;
}
}
Hy vọng điều đó sẽ hữu ích!
Nguồn
2013-05-19 06:39:43
Rất tiếc, có thể tôi chưa đủ rõ ràng về liên kết. Tôi nghĩ có lẽ họ bây giờ là một giải pháp thực hiện cho nó, bởi vì bài đăng là từ tháng 1 năm 2011, nhưng cảm ơn câu trả lời của bạn – Flow
Np @Flow. Đó là một phiếu bầu khác cho tính năng đó. Nếu bạn muốn giúp thêm nó vào ORMLite, hãy gửi một số email trên danh sách gửi thư. – Gray
Xin lỗi mang lại điều này, nhưng điều này có nghĩa là nếu Lớp B mở rộng Lớp A, bạn không thể có hai bảng khác nhau, trong đó Lớp B sử dụng các thuộc tính Lớp A làm cột bảng B? – Maxrunner