にネストされたオブジェクトを削除し、私はクラスにこれらを持っている:自動ORMLite
public class Station {
@DatabaseField(foreign = true, foreignAutoCreate = true)
private OpeningTimes openingTimes;
}
public class OpeningTimes {
@DatabaseField(generatedId = true)
int _id;
}
今OpeningTimes行が自動作成され、私はStationDao上createOrUpdateメソッドを呼び出すとき。それは素晴らしいことです!
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();
}
}
EDIT: また、私はこれをしようとしているが、
@DatabaseField(foreign = true, foreignAutoCreate = true, columnDefinition="INTEGER, FOREIGN KEY(`openingTimes_id`) REFERENCES openingtimes(`_id`)")
これは 'PreparedDelete'でも動作しますか?なぜなら私は 'DELETE ID NOT IN'を使ってリモートDBと完全な同期をしたいからです。 – dzeikei