【发布时间】:2012-02-28 21:55:40
【问题描述】:
我有这些上课:
public class Station {
@DatabaseField(foreign = true, foreignAutoCreate = true)
private OpeningTimes openingTimes;
}
public class OpeningTimes {
@DatabaseField(generatedId = true)
int _id;
}
现在,当我在 StationDao 上调用 createOrUpdate 方法时,会自动创建 OpeningTimes 行。太好了!
如果我能自动删除 Station 对象及其嵌套对象 OpeningTimes,我将不胜感激。
现在我必须在 Station 类中这样做,这似乎很混乱。还有更优雅的方式吗?
public void deleteFromDb(DatabaseHelper dbHelper) {
try {
openingTimes.deleteFromDb(dbHelper);
dbHelper.getStationDao().delete(this);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
编辑: 我也一直在尝试这个,但是出现 SQL 语句错误
@DatabaseField(foreign = true, foreignAutoCreate = true, columnDefinition="INTEGER, FOREIGN KEY(`openingTimes_id`) REFERENCES openingtimes(`_id`)")
【问题讨论】:
标签: android database sqlite orm ormlite