Je ces aux classes:Auto supprimer des objets imbriqués dans ORMLite
public class Station {
@DatabaseField(foreign = true, foreignAutoCreate = true)
private OpeningTimes openingTimes;
}
public class OpeningTimes {
@DatabaseField(generatedId = true)
int _id;
}
Maintenant ligne est auto Heures d'ouverture créée, quand je l'appelle méthode createOrUpdate sur StationDao. C'est génial!
Je serais également reconnaissant, si je pouvais supprimer l'objet Station et son objet imbriqué OpeningTimes automatiquement.
Maintenant, je dois le faire de cette façon dans la classe Station et il semble assez déroutant. Y a-t-il une manière plus élégante?
public void deleteFromDb(DatabaseHelper dbHelper) {
try {
openingTimes.deleteFromDb(dbHelper);
dbHelper.getStationDao().delete(this);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
EDIT: J'ai essayé aussi, mais avec des erreurs Déclaration SQL
@DatabaseField(foreign = true, foreignAutoCreate = true, columnDefinition="INTEGER, FOREIGN KEY(`openingTimes_id`) REFERENCES openingtimes(`_id`)")
Cela fonctionnerait-il encore avec 'PreparedDelete'? parce que je voudrais utiliser 'DELETE ID NOT IN' pour faire une synchronisation complète avec une base de données distante. – dzeikei