使用sql查询将数据库加载到Ormlite

时间:2012-07-13 09:14:03

标签: android sqlite ormlite

我已经编写了一堆sql create table查询和注入。如何使用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资源的文本文件中读取。

你可以看到我对此有点困惑,可以这样做吗?还应该提一下,我使用外键,是否支持?

1 个答案:

答案 0 :(得分:0)

听起来你需要将你的对象与你的create语句匹配。例如,如果要执行以下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 classe,以便它们能够持久保存到表中 - 将列与字段匹配。