Datenbankschnittstelle für Java

O

Ole

Gast
Hallo,
für meine Abschlussarbeit setze ich ein Projekt mit Java um. Die Kommunikation mit der Datenbank ist hierbei ein wichtiger Aspekt.

Wenn ich an Datenbankschnittstellen von Java denke, fällt mir die rudimentäre Schnittstelle von Java SE ein, JDBC.

Zum anderen, das Framework Hibernate. Vorteile die mir zu Hibernate spontan einfallen: Viele Abfragen werden einen abgenommen, es setzt Datenbankabfragen direkt in Java Objekte um, so dass man die Ergebnisse selbst nicht casten und Viarablen zuweisen muss und es ist sicherer, da es selbst einen Schutz gegen SQL Injection hat, wenn man prepared statements hernimmt. Zum anderen ist der Vorteil, dass sich Hibernate an JPA hält, weshalb es später leicht auswechselbar ist.

Seit ihr der Meinung, dass ich noch andere Frameworks, wie EclipseLinks, anschauen soll?

Ich suche mir aus den Büchern im Moment selbst die Informationen raus. Leider habe ich noich keins gefunden, die mehrere Frameworks gegenüber stellt und abwägt. Kennt ihr da eins? Solche Quellen-Angaben zur Festigung meiner Argumente würde sich gut machen.

Danke für eure Hilfe.
 
O

Ole

Gast
ORM ist am einfachsten, da dies die objektorientierte Programmierung umsetzt.
Aber dies wird von mehreren Frameworks umgesetzt, so z.B. von Hibernate.
Ich weiß zwar, dass es alternativen, wie EclipseLink gibt, aber wenn ich an ein Persistance-Framework denke, denke ich zu erst nur an Hibernate. Lohnt es sich alternativen anzusehen?

Dass darunter JDBC nicht mithalten kann, ist klar. Trotzdem will ich kurz darauf in meiner Arbeit eingehen.

Aber welche anderen Arten, die du als "Alles andere" nennst, gibt es in Java?
 

TheDarkRose

Gesperrter Benutzer
EclipseLink ist auch ein JPA Framework wie hibernate und wird beispielsweise im Glassfish als solches eingesetzt.

Sonst gäbe es noch objektorientierte Datenbanken wie db4o. Oder du springst auf den NoSQL Zug auf ^^
 
M

Marcinek

Gast
Also ORM und JDBC sind keine konkurierenden Frameworks.

Jedes ORM, dass ich kenne kapselt "einfach" JDBC. Da passiert das "casting" und Wertezuweisung eine Schicht tiefer.

Andere Möglichkeiten sind Sockets zur DB auf uns die Kommunikation darüber machen. Und das erledigt für dich der JDBC Treiber. you know?

Das ist keine und schongarnicht pauschale "ich bin besser" - Geschichte.

;)

Gruß,

Martin
 
O

Ole

Gast
Danke für eure Antworten.

Das ist keine und schongarnicht pauschale "ich bin besser" - Geschichte.
ja, da hast du vollkommen recht.
War eher die Überlegung "baue ich mir die Umsetzung mit JDBC selber ein oder welche Vorteile bietet mir ein Framework".
Als Beispiel die SQL-Injection. Klar ist dies etwas, was ich slber bei JDBC umsetzen kann. Doch kann hier so schnell etwas übersehen werden, dass es sinnvoller ist, es von einem Framework übernehmen zu lassen bei dem dies von Leuten geschrieben wurden, die da mehr Ahnung haben.

Sonst gäbe es noch objektorientierte Datenbanken wie db4o. Oder du springst auf den NoSQL Zug auf ^^
Hm, gehört db4o nicht zu den NoSQL-Datenbanken?
Werde ich mir aber auf jeden Fall ansehen, danke für den Tipp
 

homer65

Top Contributor
Ein Framework hatt den Nachteil, das es eine gewisse Einstiegshürde gibt. Es braucht Zeit das Framework kennen zu lernen.
Wenn man es dann aber kennen gelernt hatt, kann man die Hoffnung haben, das es einem die Arbeit erleichert.
Wenn du ein einfaches Projekt schnell fertig kriegen willst, dann verzichte möglichst auf Frameworks.
Willst du aber etwas dazu lernen und ähnliche Projekte auch in Zukunft machen, dann kann es sich lohnen ein Framework wie Hibernate zu nutzen.
Allerdings erleichert ein Framework den Entwicklern die Arbeit nicht aber den ausführenden Computern.
Wenn es darum geht Resourcen zu schonen, kann es auch Sinn machen auf Frameworks zu verzichten.
 

JanHH

Top Contributor
Also die Einstiegshürde bei SQL/JDBC ist definitiv höher als die bei JPA, was ja wirklich quasi supersimpel ist ;-).

Also wenn Du eine Arbeit über die Thematik schreiben willst würd ich mich dem eher theoretisch nähern.

Wenn Du lediglich was programmieren willst würd ich JPA nehmen, ist wirklich VIEL komfortabler als nur JDBC. Ob da unter der Haube Hibernate oder EclipseLink werkelt ist erstmal egal.

Und noch ein Aspekt.. JPA ist ja auch konstruiert in Hinblick auf die Integration in andere Umgebungen, also beispielsweise in einer JEE-Umgebung, wo der JEE-Container das Transaktionsmanagement übernimmt. Auf die Spitze getrieben z.B. bei seam, wo JSF, JPA und sehr bündig in ein einziges "Metaframework" integriert sind. Da JPA als Baustein einzeln zu entfernen würde das Gesamtkonuzept über den Haufen werfen und wäre gar nicht sinnvoll.
 
O

Ole

Gast
vielen Dank für eure netten Hilfestellungen.

Sie haben mir weiter geholfen und ich denke nun in die richtige Richtung (hoff ich zumindest). Werde mich kurz mit JDBC beschäftigen aber mich dann auf JPA mit Hibernate spezialisieren.
Habe einen Benchmark verschiederen Implementierungen gesehen, bei dem db4o sehr gut abschneidet. Falls ich zum Schluss noch Zeit haben werde (oder eben nach der Abschlussarbeit für mich), werde ich mich damit beschäftigen. Will ja auch was für die Zukunft lernen.

Nochmals vielen Dank.

Wünsch euch einen guten Start ins neue Jahr.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Verknüpfung auflösen für Frontend Datenbankprogrammierung 7
R Beste Lösung für User Erstellung in mongodb Datenbankprogrammierung 1
I SaaS Applikation: pro Kunde eine Datenbank / Schema oder eine DB für alle Kunden? Datenbankprogrammierung 76
O apache derby in eclipse für Datenbanken einbauen Datenbankprogrammierung 3
Zrebna Empfehlung für ein kostenloses DB-Hosting gesucht Datenbankprogrammierung 6
M Lösungsvorschläge für Multi-User Datenbankprogrammierung 1
M Alle Records Felder kriegen für DB Abfrage Datenbankprogrammierung 14
pkm PostgreSQL Kann mit mybatis einen Parameter für eine postgreSQL-Abfrage nicht übergeben. Datenbankprogrammierung 5
Kirby.exe Denkanstoß für Ranking Datenbankprogrammierung 1
L Oracle Repräsentative Namen für die Column Types Datenbankprogrammierung 9
OnDemand Struktur für Parent / Child Produkt Datenbankprogrammierung 5
N ORM für Sqlite Datenbankprogrammierung 4
I Konzept: Klasse / Entity für Einstellung der Software Datenbankprogrammierung 3
H suche eine Login system Bibliothek für Java Datenbankprogrammierung 5
ruutaiokwu MySQL MariaDB-Client-Zertifkate, nur für einen bestimmten User Datenbankprogrammierung 5
B Datenmodell für Regeln + Bedingungen & Referenz auf andere Tabelle Datenbankprogrammierung 12
O Dokumentation für MariaDB 10.3. Datenbankprogrammierung 2
F MariaDatabase Einstellungen für Verbindungen Datenbankprogrammierung 5
Dimax MySQL Trigger für eine Spalte Datenbankprogrammierung 5
Dimax MySQL Maximale Datenlänge für eine Spalte einer Datenbank in java ermitteln Datenbankprogrammierung 15
platofan23 MySQL Java Programm findet Treiber für mySQL auf Debian-Server nicht? Datenbankprogrammierung 11
B Brauche Tipps für Datenbankdesign Datenbankprogrammierung 8
B Tabelle für "wiederkehrende Rechnungen" Datenbankprogrammierung 12
Danloc Informationen für Datenbankverbindung wo/wie speichern? Datenbankprogrammierung 11
J Warum sind Sockets für einen Live-Chat sinnvoll? Datenbankprogrammierung 8
R Java-Befehle/Operatoren für copy&paste Datenbankprogrammierung 2
X PostgreSQL Datenbankdesign für Vokabeltrainer Datenbankprogrammierung 48
@SupressWarnings() HSQLDB Datenbank für mein Dorfbauspiel "Time of Kings" Datenbankprogrammierung 6
M Idee Umsetzung //NFC Eintrittskarten für Geburtstag Datenbankprogrammierung 2
looparda Architektur für JPA Hibernate Umstieg Datenbankprogrammierung 14
P Datanbank für Java-Programmierung Datenbankprogrammierung 10
M Feedback für neues Buch über "Java und Datenbanken" erwünscht Datenbankprogrammierung 8
J SQLite Ich muss für mein Projekt meine Datenbank Kapseln Datenbankprogrammierung 2
J Tipps für ERM Datenbankprogrammierung 4
P Highlevel-Lösung für Speicherung von Baumstruktur mit unbekannter Tiefe Datenbankprogrammierung 1
F welche Datenbank für Messwerte? Datenbankprogrammierung 4
E Warum werden für Datenbanktabellen Schemanamen festgelegt? Datenbankprogrammierung 1
M DB Schema für Vokabeltrainer Datenbankprogrammierung 2
U SQLite Für mich etwa komplexe Abfrage via 2 Tabellen Datenbankprogrammierung 5
E Kann man, wenn man in DB2 Tabellen erstellt hat für dessen auch einen Command-File erstellen? Datenbankprogrammierung 1
T NoSQL Connection für die Thesis [GWT] Datenbankprogrammierung 1
J SQLite Abfrage ausführen stoppt für Zyklus? Wie es zu lösen? Datenbankprogrammierung 3
S HSQLDB Fehlermeldung für den Bildschirm Datenbankprogrammierung 3
L Datenmodell erstellen für eine Nutzertanalyse Datenbankprogrammierung 1
I Query für Geburtstage Datenbankprogrammierung 6
L Zentrale Datenbank im Internet für Spiele Highscores? Datenbankprogrammierung 1
P Derby/JavaDB Csv Datei für dieses Musterprogramm Datenbankprogrammierung 12
ruutaiokwu code-formatter für t-sql... Datenbankprogrammierung 12
J Plug-In-Framework für Hibernate-Klassen Datenbankprogrammierung 0
T Mehrsprachigkeit für Tabellenfelder Datenbankprogrammierung 6
E MySQL Große Datenmengen reibungslos speichern für Gameserver Datenbankprogrammierung 6
F MSSql oder MongoDB für die Speicherung von POI Datenbankprogrammierung 9
G SQLite SQLite Select für View vereinfachen/optimieren Datenbankprogrammierung 4
P MySQL Historie für ein Objekt anlegen Datenbankprogrammierung 5
P MySQL eine richtige Datenbank für einen routenplaner erstellen Datenbankprogrammierung 2
K JDBC- In Java "stored procedure" erstellen für DB2,OracleSql ... Datenbankprogrammierung 3
J Datenbank für Fragen/ Antworten Datenbankprogrammierung 7
L Datenbank für kleinere Anwendungen Datenbankprogrammierung 3
N Query für Derby DB mit Enterbrise Bean Datenbankprogrammierung 4
S ich brauche tipps für JDBC Datenbankprogrammierung 4
I Hibernate - Best Practice für Lazy Loading Datenbankprogrammierung 3
R MySQL Voraussetzungen für eine erfolgreiche Datenbankanbindung mittels JDBC Datenbankprogrammierung 2
GianaSisters SQL Befehl für allgemeine Datenbankexistenz Datenbankprogrammierung 4
B Beispiel für sicheres DBUsername/DBPassword handling Datenbankprogrammierung 4
I Anfänger-Tutorial für Hibernate gesucht Datenbankprogrammierung 3
heart_disease Beratung für Datenbankdesign Datenbankprogrammierung 13
C Embedded DB für Java Datenbankprogrammierung 26
J Unterstützung für verschiedene Datenbanken Datenbankprogrammierung 2
L MySQL Probleme mit PreparedStatement für SQL-Abfrage in Java Datenbankprogrammierung 2
F suche Erstanschub für DB-Zugriff Datenbankprogrammierung 9
F MySQL SQL Abfrage für u.a. Spaltenname key Datenbankprogrammierung 4
T ResultSet befehl für leere Spalte nicht lesen Datenbankprogrammierung 4
F Performance-Tool für Oracle Datenbankprogrammierung 2
T Kleine Tabellen für schnellere abfragen? Datenbankprogrammierung 3
C Split String für SQl query Datenbankprogrammierung 10
A update methode für datenbank Datenbankprogrammierung 2
N Datenbank für Dateien Datenbankprogrammierung 6
N Datenbank für einen Stundenplan Datenbankprogrammierung 4
G welche Datenbanktabellen für folgende Attribute Datenbankprogrammierung 3
R Connection Problem für eine externe DB mit Java (JDBC) Datenbankprogrammierung 9
S JPA (EntityManager für jeden Nutzer?) Datenbankprogrammierung 8
J Buffer Manager für Datenbank Datenbankprogrammierung 4
F SQL Voraussetzung für JDBC? Datenbankprogrammierung 10
R Bei Webformular DropDown Felder JA, NEIN! Was für einen Datentyp verwenden? Datenbankprogrammierung 7
T SSL Zertifikat für mysql datenbankzugriff Datenbankprogrammierung 6
T Debugger für SQL? Datenbankprogrammierung 5
Chtonian Effizientes Query System für Wortnachschlagewerk Datenbankprogrammierung 9
G Tabelle für Zeitraum sperren Datenbankprogrammierung 4
A Struct für Datenbank abfrage? Datenbankprogrammierung 12
O Hibernate für Eclipse Datenbankprogrammierung 5
T JPQL Query für eine Tabellenansicht Datenbankprogrammierung 2
D Sicherheit für Datenbankverbindung Datenbankprogrammierung 19
S Standard für Datenbanken Datenbankprogrammierung 3
R Entfernte MySQL Datenbank für lokale Swing-App Datenbankprogrammierung 8
Landei Mehre Werte für einen Prepared-Statement_Parameter übergeben? Datenbankprogrammierung 3
G Einheitliches Casting für Decimal und Integer-Werte Datenbankprogrammierung 5
G TippSpiel für Bundesliga programieren Datenbankprogrammierung 4
-horn- [Anfänger] Ein einfaches Beispiel für Abfrage von MxSQL? Datenbankprogrammierung 8
G persistence.xml für MySQL - Verbindung Datenbankprogrammierung 6
M Persistenz für kleines Projekt Datenbankprogrammierung 11

Ähnliche Java Themen

Neue Themen


Oben