我已经编写了一堆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资源的文本文件中读取。
你可以看到我对此有点困惑,可以这样做吗?还应该提一下,我使用外键,是否支持?
答案 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,以便它们能够持久保存到表中 - 将列与字段匹配。