2

BaseObject永続化されたすべてのクラスが拡張する、呼び出すオブジェクトがあります。このクラスには、、、などのフィールド_idがあります。このベース オブジェクトを拡張するすべてのオブジェクトに対応するデータベース テーブルには、明らかにこれらの値を格納する列があります。dateCreateddateModified

これらすべてのフィールドがデータベースに保持されるように、注釈を使用してこれらのフィールドを設定するにはどうすればよいですか? これを行うことができますか、またはこれらのフィールドを POJO に直接追加する必要がありますか? 基本オブジェクトの下に、それを拡張するクラスの 1 つを含めました。

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 ... 
}

どんな助けでも大歓迎です。ありがとうございました。

4

1 に答える 1

3

これは、保持したい基本クラスとスーパークラスの両方の各フィールドに注釈を付けている限り、 ORMLiteでうまく機能するはずです。たとえば、次の注釈のようなものを に追加する必要があります。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 {

    @DatabaseField
    private Integer foodGroupId;
    @DatabaseField
    private String longDescription;
于 2012-07-30T20:12:44.847 に答える