Erstellen Sie mehrere Tabellen für eine Klasse in ORMLite

8

Ich verwende ORMLite für Android und habe folgende Frage: Ist es möglich, viele Tabellen auf Basis einer einzelnen Java-Klasse zu erstellen?

Die Tabellen sollten sich nur in ihren Namen unterscheiden, und der Zugriff darauf sollte nach Namen erfolgen.

Zum Beispiel, wenn ich eine Klasse habe:

%Vor%

Und ich habe eine dynamische Anzahl von Modulen, die Bestellungen erstellen können. Ich möchte, dass jedes Modul seine eigene Tabelle hat, aber alle Tabellen sollten ein ähnliches Schema haben.

Ich weiß, dass ich ein Feld in der Order-Klasse hinzufügen kann, das den Namen des Quellmoduls angibt, und alle Aufträge in einer Tabelle gespeichert haben, aber ich frage mich, ob es eine Möglichkeit gibt, die Tabellen zu trennen (für schnellere Abfragen, schnelleres Löschen) von Aufträgen aus dem gleichen Modul und so weiter)

Danke!

    
gilad61 20.08.2012, 13:35
quelle

1 Antwort

11

Die große Frage ist hier, was Sie unter "dynamisch" verstehen. Wenn Sie meinen, dass Sie diese Module Order s im laufenden Betrieb erstellen müssen und Sie ihre Namen nicht im Voraus kennen, dann glaube ich, dass ein Modulname-Feld der effiziente Weg ist, dies zu tun. Die Erstellung einer Tabelle für jeden Auftragstyp scheint mir eine vorzeitige Optimierung zu sein - Komplexität ohne guten Grund.

Das heißt, Sie können dynamische Klassen erstellen, indem Sie eine DatabaseTableConfig für jede Tabelle und definiert die Klasse programmgesteuert .

Wenn Sie nicht wirklich dynamisch meinen, dann ist der einfachste Weg, jedes Modul Order in eine eigene Tabelle zu setzen, Subklassen.

Sie könnten haben:

%Vor%

Die Felder von Order befinden sich in den Tabellen fooorder und barorder .

    
Gray 20.08.2012, 13:51
quelle

Tags und Links