Datenbankzugriff wie gestalten?

Danloc

Mitglied
Hallo zusammen,

ich habe mein erstes "großes" Hobbyprojekt in Angriff genommen und habe zum Thema Datenbankanbindung ein paar Grundlegende Fragen und möchte wissen, was "best practice" ist.

Da ich Beruflich viel mit Datenbanken zu tun habe, allerdings in anderen Programmiersprachen entwickel und unsere Datenbank Objektorientiert ist, habe ich zwar relativ gute SQL kentnisse aber wenig Erfahrung mit MySQL.

Bei einer Objektorientierten Datenbank habe ich nämlich die Möglichkeit, eine Klassenstruktur anzulegen und eben "darin" auch die Daten zu speichern. Das bedeuted ebenfalls das ich mir von den Klassen Objekte erzeugen kann, die entsprechende Daten enthalten, mit denen ich dann arbeiten kann.

Nun Frage ich mich, wie ich das in Java umsetze, ohne dass ich diese Mittel zur Verfügung habe. Ich will mir ungern eine Klasse anlegen, die einfach alle Query's enthällt.

Gibt es hierfür einen bewehrten Weg? Ich meine ich habe mal etwas von einem DataObjectManager (korrigiert mich wenn es falsch ist) gelesen, bei dem für jede Datenbanktabelle eine entsprechende Klasse in Java angelegt wird, die wiederrum die Tabelle wiederspiegelt und mittels dieses Managers die Daten in Objecte dieser Klasse bringt.

Ist es überhaupt sinnvoll, mittels Objecte die Daten für die Anwendungsschicht bereitzustellen bzw. zu verändern?

Ich hoffe es ist ungefähr klar geworden, was ich meine.
Danke schonmal im Vorraus.

Gruß Danloc
 

Thallius

Top Contributor
Hybernate z.B. sollte genau das haben was du brauchst. Ich persönlich finde allerdings das OO Datenbanken nach wie vor viel zu oft auch da eignesetzt werden wo es gar nicht nötig ist und damit ein hoher Performanceverlust in kauf genommen wird.
 

Danloc

Mitglied
Hallo Thallius,
genau sowas habe ich gesucht. Ist es denn der gängige Weg bzw. Best-Practice ein Solches Framework zu benutzen und die Daten mittels ORM zu Verwalten bzw. sowas wie persistente Objekte zu haben?

Es ist nicht so, dass ich unbedingt ein solches Framework benutzen will, ich will es einfach auf den "üblichen" Weg bzw. nach best-pratice gestalten. Ich denke diese Thematik gehört zum 1x1 eines Java Entwicklers und ich bin sicherlich nicht der Erste, der auf eine Datenbank mit mittlerer Komplexität zugreift. Ich will Daher nicht irgendetwas zusammenfummeln, sondern eure Erfahrung auswerten.

Ergeben sich explizite Vorteile oder Nachteile beim benutzen eines solchen Frameworks?
 

mrBrown

Super-Moderator
Mitarbeiter
Hybernate z.B. sollte genau das haben was du brauchst. Ich persönlich finde allerdings das OO Datenbanken nach wie vor viel zu oft auch da eignesetzt werden wo es gar nicht nötig ist und damit ein hoher Performanceverlust in kauf genommen wird.
Du meinst Hibernate?
Hat mit OO-Datenbanken nicht viel zu tun, das ist nur für relational Datenbanken^^


Ist es denn der gängige Weg bzw. Best-Practice ein Solches Framework zu benutzen und die Daten mittels ORM zu Verwalten bzw. sowas wie persistente Objekte zu haben?
Ja, ORM ist einer der üblichen Wege. Mehr dürftest du unter "JPA" finden ;)

Ergeben sich explizite Vorteile oder Nachteile beim benutzen eines solchen Frameworks?
naja, es macht alles deutlich einfacher, aber dafür bindet man sich halt an die API und nimmt dabei u.U. Einschränkungen in Kauf, zB in manchen Fällen bei der Performance
 

Thallius

Top Contributor
Du meinst Hibernate?
Hat mit OO-Datenbanken nicht viel zu tun, das ist nur für relational Datenbanken^^

Für mich ist das ein Wrapper welcher OO Klassen auf eine relationale Datenbank abbildet. Also erscheint das Ergebnis, welches man benutzt wie eine OO Datenbank auf wenn eine relationale drunter steckt.

Un in manchen Fällen finde ich stark untertrieben....
 

Danloc

Mitglied
Wenn ich es richtig verstanden habe ist JPA die Schnittstelle um das ORM Konzept mit Hilfe von Frameworks wie Hibernate zu benutzen, richtig?

Ich werde mich mal etwas einlesen und schauen welche Frameworks es neben Hipernate noch gibt.

Hat eventuell jemand Tutorials, Internetseiten usw. wo dieses Thema gut erklärt wird?
Ein paar konkrete Codebeispiele um sich das einmal anzusehen wären hilfreich.
 

mrBrown

Super-Moderator
Mitarbeiter
Wenn ich es richtig verstanden habe ist JPA die Schnittstelle um das ORM Konzept mit Hilfe von Frameworks wie Hibernate zu benutzen, richtig?
Ja, JPA ist eine ORM-Standard, der von verschiedenen Frameworks implementiert wird.

https://www.tutorialspoint.com/de/jpa/jpa_introduction.htm


Unabhängig von JPA gibts noch andere ORM-Framewokrs, ersteres ist aber durch JavaEE ziemlich verbreitet.
Außerdem gibts natürlich "normales" JBDC und andere Libs, wie z.B. jOOQ
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Problem mit dem Datenbankzugriff über ucanaccess Datenbankprogrammierung 15
M MySQL JSF Datenbankzugriff maxActive, maxIdle, maxWait Datenbankprogrammierung 1
T MySQL Multithreading beim Datenbankzugriff Datenbankprogrammierung 3
C MySQL Datenbankzugriff mit SSL Datenbankprogrammierung 11
N Beispielprogramm Datenbankzugriff Datenbankprogrammierung 7
T SSL Zertifikat für mysql datenbankzugriff Datenbankprogrammierung 6
E was passiert bei parallelem Datenbankzugriff ? Datenbankprogrammierung 9
C Datenbankzugriff standarisieren Datenbankprogrammierung 2
G Frontend für Datenbankzugriff Datenbankprogrammierung 7
G Datenbankzugriff auf MS-Navision Datenbankprogrammierung 2
A Andere Möglichkeit als JDBC Treiber für den Datenbankzugriff Datenbankprogrammierung 3
A Datenbankzugriff per Applet - Problem beim Treiber laden Datenbankprogrammierung 6
C Hausarbeit -> Datenbankzugriff über JDBC Datenbankprogrammierung 2
T Applet bekommt keinen Datenbankzugriff Datenbankprogrammierung 11
T Datenbankzugriff (Oracle) mit Applet via Internet? Datenbankprogrammierung 6
D Datenbankzugriff auf MS SQL Server 2000 funktioniert nicht Datenbankprogrammierung 3
A MS SQL Datenbankzugriff per JDBC Datenbankprogrammierung 4
K Datenbankzugriff geht nicht :( Datenbankprogrammierung 5
M Datenbankzugriff Datenbankprogrammierung 4
O Datenbankzugriff "ohne" Server ? Datenbankprogrammierung 9
G Datenbankzugriff Datenbankprogrammierung 4
T Lotus Notes Datenbankzugriff via Java Datenbankprogrammierung 3
A MYSQL Datenbankzugriff unter Linux Datenbankprogrammierung 3
LadyMilka (Hibernate) Modul möglichst universell gestalten Datenbankprogrammierung 2

Ähnliche Java Themen


Oben