2016-05-10 2 views
0

Ich habe eine Datenbank, wo wir viele Anfragen zu tun mit schließen, wie folgt aus:DAO-Entwurfs-Muster mit Join

SELECT A.ID, B.FOO 
FROM A 
JOIN B ON B.ID=A.ID 
WHERE ... 

Meine Frage ist: wie diese Anforderung anwenden DAO Muster mit? Soll ich es zum Beispiel DAOAOracle? Oder sollte ich eine neue Klasse DAOABOracle erstellen? Was ist die beste Praxis?

+0

Es kann hilfreich sein, die Sprache und die Klassen entsprechend den Tabellen A und B anzugeben. –

+0

Es ist eine allgemeine Frage, wie man es in jeder Sprache macht und die Klassen A und B sind generisch (Getter, Setter, ...) – Eko

Antwort

2

Das DAO-Muster ist nicht gut mit Fremdschlüsselbeziehungen.

Sie würden 2 DAOs benötigen und jede Tabelle einzeln lesen. Diese Lösung kann in Ordnung sein, wenn Sie nicht so viele Datensätze lesen müssen, dass es sich um ein Leistungsproblem handelt.

Sie könnten ein DAO erstellen, das nur für die Auswahl ausgewählt ist. Es würde die Join-SQL ausführen, wie Sie angegeben haben. Es würde es in eine Klasse mit A- und B-Spalten lesen.

Eine Alternative zu DAO's ist die Verwendung und ORM-Bibliothek. Die meisten ORMs können diese Art von Eins-zu-Eins oder Eins-zu-Viele Beziehungen verwalten.