Android “我怎么能?”;“地图”;在ORMLite中,所有数据库实体扩展的基本对象

Android “我怎么能?”;“地图”;在ORMLite中,所有数据库实体扩展的基本对象,android,annotations,ormlite,object-persistence,Android,Annotations,Ormlite,Object Persistence,我有一个我称之为BaseObject的对象,所有持久化的类都会扩展它。此类有一个\u id字段、日期创建、日期修改,等等。。。。与扩展此基本对象的所有对象相对应的数据库表显然具有存储这些值的列 如何使用注释设置这些字段,以便将所有这些字段持久化到数据库?我可以这样做,还是需要直接将这些字段添加到POJO?我在下面介绍了我的基本对象和扩展它的一个类 public class BaseObject { private int _id; private String dateCreat

我有一个我称之为
BaseObject
的对象,所有持久化的类都会扩展它。此类有一个
\u id
字段、
日期创建
日期修改
,等等。。。。与扩展此基本对象的所有对象相对应的数据库表显然具有存储这些值的列

如何使用注释设置这些字段,以便将所有这些字段持久化到数据库?我可以这样做,还是需要直接将这些字段添加到POJO?我在下面介绍了我的基本对象和扩展它的一个类

public class BaseObject {
    private int _id;
    private String dateCreated;
    private String dateModified;
    private String createModule;
    private String modifiedModule;

    // getters and setters here ... 
}
这是超级课堂:

@DatabaseTable(tableName = "FOOD")
public class Food extends BaseObject {

    public Food(int foodGroupId, String longDescription) {
        this.foodGroupId = foodGroupId;
        this.longDescription = longDescription;
    }

    private Integer foodGroupId;
    private String longDescription;

    // getters and setters here ... 
}
@DatabaseTable(tableName = "FOOD")
public class Food extends BaseObject {

    @DatabaseField
    private Integer foodGroupId;
    @DatabaseField
    private String longDescription;

任何帮助都将不胜感激。谢谢。

这应该可以很好地使用,只要您在基类和超类中注释您想要持久化的每个字段。例如,您需要向
BaseObject
添加如下注释

@DatabaseField(generatedId = true)
private int _id;
@DatabaseField
private String dateCreated;
@DatabaseField
private String dateModified;
@DatabaseField
private String createModule;
@DatabaseField
private String modifiedModule;
然后将以下注释添加到超类:

@DatabaseTable(tableName = "FOOD")
public class Food extends BaseObject {

    public Food(int foodGroupId, String longDescription) {
        this.foodGroupId = foodGroupId;
        this.longDescription = longDescription;
    }

    private Integer foodGroupId;
    private String longDescription;

    // getters and setters here ... 
}
@DatabaseTable(tableName = "FOOD")
public class Food extends BaseObject {

    @DatabaseField
    private Integer foodGroupId;
    @DatabaseField
    private String longDescription;