У меня есть эти классы:
public class Station {
@DatabaseField(foreign = true, foreignAutoCreate = true)
private OpeningTimes openingTimes;
}
public class OpeningTimes {
@DatabaseField(generatedId = true)
int _id;
}
Теперь строка OpeningTimes создается автоматически, когда я вызываю метод createOrUpdate для StationDao.Это здорово!
Я был бы также благодарен, если бы я мог автоматически удалять объект 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`)")