Ich habe 3 Tabellen.Ormlite sauber Abfrage Ergebnis nach Freigabe OpenHelperManager
@DatabaseTable(tableName = "summary")
public class Summary {
@DatabaseField(columnName = _ID, generatedId = true)
private int id;
@DatabaseField (columnName = OPERATION_NAME)
private String operation;
@ForeignCollectionField(columnName = ENTRIES, eager = true)
private Collection<Entry> entries;
}
Zweitens:
@DatabaseTable(tableName = "entry")
public class Entry implements Parcelable {
@DatabaseField(columnName = _ID, generatedId = true)
private int _id;
@DatabaseField (foreign = true, columnName = SUMMARY, foreignAutoCreate = true)
private Summary summary;
@ForeignCollectionField(columnName = PARAMS, eager = true)
private Collection<Params> params;
}
Drittens:
@DatabaseTable(tableName = "params")
public class Params implements Parcelable {
@DatabaseField(columnName = _ID, generatedId = true)
private int _id;
@DatabaseField (foreign = true, columnName = ENTRY, foreignAutoCreate = true, foreignAutoRefresh = true)
private Entry entry;
}
Ich habe die Abfrage
List<Summary> summaries = new ArrayList<Summary>();
summaries = dao.queryForAll();
Jedes Element Zusammenfassungen Sammlung Einträge enthält. Jedes Eintragselement enthält Collection-Parameter.
Ich habe die Liste Zusammenfassungen mit Datensätzen, aber nach OpenHelperManager.releaseHelper(); Ich verliere Daten der Sammlung, die Daten aus der dritten Tabelle aus Zusammenfassungen enthält. Ich bekomme IllegalStateException. Warum?
Sie haben das Problem gut eingerichtet, aber Sie haben nur den Code angegeben, der funktioniert. Sie erhalten eine bessere Qualität der Antworten, wenn Sie die Frage bearbeiten, um den Teil des Codes hinzuzufügen, der den angezeigten Fehler anzeigt, idealerweise mit Kommentaren oder anderen Hinweisen, um zu beschreiben, was Sie erwarten und was Sie tun. Re tatsächlich sehen. Als jemand, der mit Java und Android vertraut ist, kann ich nicht genau herausfinden, was Sie mit "Verlieren einer Sammlung" meinen, was Sie gezeigt haben. – lockcmpxchg8b