# Datenbankprogrammierung in Java - womit am besten?



## DB_Anfänger (17. Nov 2011)

Hi!

Ich wollte mal fragen, ob mir mal einer Ordnung in meine Gedankengänge bringen kann... Ich würde mich gerne tiefer gehend in die Datenbankprogrammierung mit Java einarbeiten. Was mir fehlt, ist allerdings der rote Faden, wie ich da thematisch bzw. didaktisch am besten dran gehe. Mein fernes Ziel ist es eine Anwendung zu schreiben, welche mehreren Benutzern ermöglicht über ein Frontend auf eine Datenbank zuzugreifen. 

Zur Zeit tue ich mich sehr schwer den richtigen Weg zu finden. Auf der einen Seite gibt es eine Vielzahl von Frameworks wie z.B. JPA, Hibernate, usw. welche alle in diese Richtung gehen. Ich kann nur überhaupt nicht abschätzen, ob es sinnvoll ist direkt mit solchen Frameworks anzufangen und wenn ja mit welchen? 

Bisher habe ich versucht durch eigene Programmierung auf Datenbankobjekte zuzugreifen. Vom Prinzip her hat das funktioniert, nur war es ein sehr großer Aufwand das ORM aufzusetzen. Dazu kommt dann das Handling der Datenbankfunktionen (select, update, insert, delete), welche ich alle mühselig "zusammen frikeln" musste. Wenn ich es richtig verstanden habe würde der Einsatz von Frameworks diese Arbeit wesentlich erleichtern, oder ist das oversized? Natürlich kann ich auch nicht ausschließen das mein Code bzw. meine Überlegungen nicht optimal sind. Kennt vielleicht jemand ein brauchbares Tutorial (am besten GUI - Datenbank), welches ohne Frameworks auskommt? 

So, ich hoffe die Fragen sind nicht allzu dämlich. Gegoogelt habe ich schon mehrere Tage....

Viele Grüße

Frank


----------



## bronks (17. Nov 2011)

DB_Anfänger hat gesagt.:


> ... würde der Einsatz von Frameworks diese Arbeit wesentlich erleichtern, oder ist das oversized? ...


Oversized nicht, aber sinnvoll sind solche Frameworks eigentlich nur in Verbindung mit irgendetwas, was sich von alleine um die Transaktionen kümmert, wie z.B. EJB.


----------



## Atze (17. Nov 2011)

für eine "simple" datenbank anwendung würde (zumindest um erfahrungen zu sammeln) doch JBDC genügen. um dir dann tipparbeit zu sparen kannst du dir auch

Using Prepared Statements (The Java™ Tutorials > JDBC(TM) Database Access > JDBC Basics)

ansehen.


----------



## c_sidi90 (17. Nov 2011)

Ich würde dir vorschlagen zuerst ein wenig mit JDBC zu arbeiten um ein wenig Routine zu bekommen. Wenn du dann einigermaßen über die Vorgehensweise bescheid weist, kannst du dich mit Hibernate befassen. Du wirst schnell merken, dass dir alle lästigen Sachen von JDBC sofort abgenommen werden und du viel schneller ans Ziel kommst. Hibernate gilt jedoch nicht gerade als einsteigerfreundlich, obwohl die Doc echt gut ist. Wie gesagt, mach ein paar Beispiele mit JDBC in Verbindung mit einer DB (mySQL, Oracle, FB usw) und schau dir danach ein paar HBN tutorials an. Im Forum gibts auch einiges zu dem Thema


----------



## DB_Anfänger (17. Nov 2011)

Vielen Dank für Eure Hinweise und Vorschläge!

Mit JDBC habe ich schon rumgebastelt, nur wurde mir das irgendwann zu aufwändig. Ich war mir halt unsicher, ob ich mir damit selbst im Wege stehe und andere mit diesen "einfachen" Mitteln eine Anwendung erstellen, oder ob die Mehrzahl doch auf Frameworks zurückgreift.

Meine Tendenz geht dahin, mich zunächst mit Hibernate (welches wohl am verbreitesten ist) oder JPA im Detail auseinander zu setzten. Mal sehen wie es dann weitergeht. Irgendwann kommen dann bestimmt die Applicationserver ins Spiel und ich hoffe, man kann die Sachen zumindest teilweise auf diese portieren. Ist das wohl der richtige Weg?


----------



## Atze (17. Nov 2011)

hibernate nutzt JPA und erzeugt auch für kleine abfragen ziemlich viel overhead. wenn du die funktionen eines frameworks brauchst nimm es, aber es muss sich auch lohnen


----------



## c_sidi90 (17. Nov 2011)

> Ist das wohl der richtige Weg?



Ja ich hatte es damals auch so gemacht, Hibernate ist nie verkehrt, gerade wenn es später um größere Projekte geht ersparen einem die Annotationen viel Arbeit. Viel Spaß beim lernen.


----------



## bimmelbommelbob (18. Nov 2011)

grüß dich,

ich kann dir meine erfahrung mit hibernate schildern und die ist sehr gut. halte es auch für sinnvoll es von anfang an zu benutzen. jede vernünftige ide hat dafür super komfortable plugins. es ist leicht zu lernen und du mußt dich nicht um das ganze "insert"/"update" zeug kümmern. kurz gesagt es macht dich enorm produktiv und man hat wieder mehr zeit für java.
in zusammenarbeit mit der ide nimmt es dir auch das treibergefrickel und das orm ab. i like it!

viel spass


----------



## Atze (18. Nov 2011)

bimmelbommelbob hat gesagt.:


> halte es auch für sinnvoll es von anfang an zu benutzen. jede vernünftige ide hat dafür super komfortable plugins. es ist leicht zu lernen und du mußt dich nicht um das ganze "insert"/"update" zeug kümmern.


von anfang an halte ich für nicht so eine gute idee, die grundlagen (was machen select, update, insert etc) sollte man schon beherrschen. falls mal was nicht läuft sollte man wissen, warum nicht. aber reines JDBC hast du dir ja zumindest schon angeschaut.


----------



## maki (18. Nov 2011)

Wer RDBMS, SQL und das Mapping zwischen Objekten und relationalen Datenbanken nicht versteht, kann ORMs wie Hibernate bzw. JPA gar nicht richtig einsetzen.

Bei ORMs geht es nicht um Ignoranz, sondern um Bequemlichkeit, d.h. man muss schon verstehen was da passiert 

JDBC zu erlernen ist für einen Anfänger nicht verkehrt imho.


----------



## DB_Anfänger (18. Nov 2011)

Mit JDBC habe ich mich ja schon rumgeschlagen und genau dieser Aufwand alle updates, inserts, usw. selbst aufzusetzen störte mich. Da habe ich mich immer gefragt: Geht das wohl nicht einfacher? Ich bin jetzt sicher kein JDBC Profi, aber zumindest die Grundlagen dürften sitzen.

Unsicher war ich mir nur ob ich ein Framework verwenden sollte, oder ob der Großteil der Leute alles per JDBC macht und ich mir mit meinem Code im Wege stehe... Hibernate scheint ja sehr weit verbreitet zu sein, daher gehe ich jetzt - auch dank Eurer Aussagen - erst einmal diesen Weg. Gestern habe ich mir schon ein Buch gekauft und die Tutorials auf der Hibernate Homepage überflogen. Ich denke das ist genug Stoff für die nächsten Wochen 

Viele Grüße


----------

