Meine Anwendung verwendet die Remote-REST-API und füllt die lokale Datenbank mit greenDao. Ich habe einen Dienst mit AsyncTask Klasse:Wie kombinieren Sie mehrere greenDAO Tx-Operationen in einer Transaktion?
@Override
protected Void doInBackground(Void... params) {
insert100RowsIntheFirstTable();
insert100RowsIntheSecondTable();
}
Innerhalb jeder Einsatz-Methode, die ich insertOrReplaceInTx, die ich in erster Linie für die Leistungssteigerung nutzen.
Was ich brauche ist, um Ergebnisse zu verlassen, wenn eine der Methoden Daten nicht abrufen kann. Es soll durch die gleiche Transaktion geschehen.
Ich frage mich, ob es richtig ist, meine Insert-Methode Anrufe mit mDaoSession.callInTx(callable)
umgeben, während insertOrReplaceInTx
innerhalb der Methoden haben. Habe ich recht?
Wie kann ich die Transaktion abbrechen, wenn eine Ausnahme ausgelöst wird - wird das automatisch mit greenDao gemacht?
es gearbeitet hat - schön – midnight
Wenn die erste insertInTx gelingt und die zweite ausfällt, wird nicht der erste Satz von Objekten in der Session-Cache bleiben, auch wenn die DB zurückgerollt! die Transaktion? – Monstieur