Kurze Antwort: Es hängt von der Komplexität ab, die Sie unterstützen möchten.
Lange Antwort:
Zu allererst ORM (Object Relational Mapping - Mapping-Datenbank wie Sie es nennen -) und JNDI (Java Naming and Directory Interface) sind zwei verschiedene Dinge.
Die erste, wie Sie bereits wissen, wird verwendet, um die Datenbanktabellen Klassen und Objekten zuzuordnen. Die zweite besteht darin, einen Nachschlage-Mechanismus für Ressourcen bereitzustellen, beispielsweise DataSources, Ejb, Queues oder andere.
Vielleicht Ihre mittlere "JDBC".
Nun zu Ihrer Frage: Wenn es so einfach ist, wäre es nicht notwendig, ein ORM zu implementieren. Die Zahlentabellen wären höchstens 5 - 10, und die Operationen sind wirklich einfach, denke ich.
Wahrscheinlich würde einfaches JDBC ausreichen.
Wenn Sie das DAO-Muster verwenden, können Sie es später ändern, um die ORM-Strategie bei Bedarf zu unterstützen.
So: Sagen Sie bitte die Employee-Tabelle haben
Sie die Employee.java erstellen mit allen Feldern der DB mit der Hand (es sollte nicht zu lange dauern) und einem EmployeeDaO.java mit Methoden wie:
+findById(id): Employee
+insert(Employee)
+update(Employee)
+delete(Employee)
+findAll():List<Employee>
und die Umsetzung ist ganz einfach:
select * from employee where id = ?
insert into employee (bla, bla, bla) values (? , ? , ?)
update etc. etc
Wann (und ob) Ihre Anwendung zu komplex wird Sie m Ändern Sie die DAO-Implementierung. Zum Beispiel ändern Sie in der "Select" -Methode den Code, um das ORM-Objekt zu verwenden, das die Operation ausführt.
public Employee selectById(int id) {
// Commenting out the previous implementation...
// String query = select * from employee where id = ?
// execute(query)
// Using the ORM solution
Session session = getSession();
Employee e = (Employee) session.get(Employee.clas, id);
return e;
}
Dies ist nur ein Beispiel, im wirklichen Leben können Sie die abstact Fabrik lassen Sie die ORM DAO erstellen, aber das ist offtopic.Der Punkt ist, dass Sie einfach anfangen können und indem Sie die Design-Muster verwenden, können Sie die Implementierung später bei Bedarf ändern.
Natürlich, wenn Sie die Technologie lernen möchten, können Sie auch mit 1 Tabelle beginnen.
Die Wahl des einen oder anderen (ORM-Lösung) hängt im Wesentlichen von der Technologie ab, die Sie verwenden. Zum Beispiel für JBoss oder andere Open Source-Produkte ist Hibernate großartig. Es ist Open Source, es gibt eine Menge Ressourcen, von denen man lernen kann. Aber wenn Sie etwas verwenden, das bereits über Toplink verfügt (wie der Oracle Application Server) oder wenn die Basis bereits auf Toplink aufgebaut ist, sollten Sie bei diesem Framework bleiben.
Übrigens, da Oracle BEA gekauft hat, sagten sie, dass sie Kodo (weblogic pereessence framework) durch toplink im jetzt "Oracle Weblogic Application Server" ersetzen.
ich Ihnen einige Ressourcen verlassen, wo Sie weitere Informationen über diese bekommen:
In dieser „Patterns of Enterprise Application Architecture“ Buch, Martin Fowler, erklärt, wo das eine oder andere zu verwenden, hier ist der Katalog . Schauen Sie sich auf Datenquelle Architectural Patterns vs. Object-Relational Verhaltensmuster:
PEAA Catalog
DAO (Data Access Object) Teil des Kern J2EE Muster Katalog ist:
The DAO pattern
Dies ist ein Starter-Tutorial für Hibernate:
Hibernate
Die offizielle Seite von Toplink: Ich "denken", die gute Meinung von JPA
Toplink
Schließlich ist, dass Sie Anbieter in letzter Zeit geändert.
Starten Sie einfach und dann entwickeln.
Ich hoffe, das hilft.