0

我已经写了一堆 sql 创建表查询和注入。如何使用 Ormlite 将这些加载到我的 android 应用程序中?据我了解,示例中的数据库是这样创建的:

        @DatabaseField(generatedId = true)
        private Integer id;

        @DatabaseField
        private String description;
...
    TableUtils.createTable(connectionSource, Thing.class);

我想用 ex 自动执行此操作:

CREATE TABLE "History" ("_id" INTEGER PRIMARY KEY  NOT NULL , "date" DATETIME, "program_id" INTEGER, "FOREIGN KEY(program_id) REFERENCES Program (_id)" );

最好的办法是从添加 i 资源的文本文件中读取。

如您所见,我对此有些困惑,可以这样做吗?还应该提到我使用外键,是否支持?

4

1 回答 1

0

在我看来,您需要将您的对象与您的 create 语句相匹配。例如,如果要执行以下创建语句:

CREATE TABLE "History" ("_id" INTEGER PRIMARY KEY  NOT NULL ,
    "date" DATETIME, "program_id" INTEGER,
    "FOREIGN KEY(program_id) REFERENCES Program (_id)" );

那么你应该构造下面的Java来对应它:

 public class History {
      // maybe generatedId = true
      @DatabaseField(columnName = "_id", nullable = false, id = true)
      public int id;
      @DatabaseField(/* not sure if you need to set a date type here */
      public Date date;
      @DatabaseField(foreign = true, columnName = "program_id")
      public Program program;
 }

 public class Program {
      // maybe generatedId = true
      @DatabaseField(columnName = "_id", nullable = false, id = true)
      public int id;
      ...
 }

您可以自己创建,然后调整相应的 Java 类,以便它们能够持久保存到表中——将列与字段匹配。

于 2012-07-16T14:30:38.730 回答