# DB Logik



## kinglui (20. Aug 2010)

Hallo zusammen,

Ich "arbeite" jetzt schon seit knapp 4 Semestern mit Java und versuche mich auch in meiner Freizeit damit zu befassen.

Da so ein Semester ja immer recht kurz ist, und wir in jedem Jahr was neues "anschneiden", kam das ganze Datenbankgedöns viel zu kurz, obwohl es in meinen Augen einer der wichtigsten und interessantesten Bestandteile ist.

Ich überlege und lese jetzt schon seit einer Weile und versuche herauszufinden, was die "beste" (Kosten/Nutzen/Sauberkeit und so..) Lösung zur Gestaltung Datenbanksicht ist.

Hibernating wäre m.E. wahrscheinlich schon das Optimum, aber in meinen Augen totaler overkill für kleine Applikationen, die sich um irgendwelche Autovermietungen / Hotelreservierungen etc. kümmern (nichts produktives).

Daher tendiere ich (glaube ich!!) zu einer Mischung aus Row data Gateway und Data Mapper:
Mir schwebt da z.B. so etwas vor:
Klassen:
- DBManager -> kümmert sich um den Verbindungsaufbau etc
- Person (zB bei einem Adressmanagement)
- Personen Mapper / PersonDTO -> hier werden alle spezifischen PersonenSQL-Dinge erledigt


Ist so eine Aufteilung sinnvoll oder reicht es, wenn ich den ganzen Kram von "Personen Mapper" in die DBManager Klasse packe? (auch wenn ich mehr als nur Personen manage?)

Wie sähe es aus, wenn ich zB nur in DBManager "plainen" SQL Code haben will und sich somit der Personen Mapper voll auf die Geschäftslogik ("was passiert mit Person X...") konzentriert. Ist es dann sauber, wenn ich Methoden wie addPerson() in den DBManager packe? Auch hier wieder: was passiert wenn ich nicht nur mit Personen arbeite, sondern noch 10 weitere Objekte habe: wird dann mein DBManager nicht zu überladen und enthält redundanten Code (addPerson, addFahrzeug..) ?


Bin auf eure Tipps gespannt!

Beste Grüße
KL


----------



## Gelöschtes Mitglied 5909 (21. Aug 2010)

Wenn es "klein" ist, brauchst du überhaupt eine Datenbank?

Was spricht gegen Serialisieren, XML, ....?

Wenn es dir aber nur ums üben geht, dann schau dir mal das DAO Pattern an

Das ist unabhängig von Hibernate & Co.

Außerdem kriegst du da die "Erleuchtung", die dir warscheinlich fehlt bzw. die du suchst


----------



## kinglui (25. Aug 2010)

Hi,

danke für dein Feedback.
Ja, eine DB muss /soll sein - aus Interesse und Vorgabe vom Prof. -.

Ich werde mich mal genauer mit dem DAO Pattern befassen, wobei das Beispiel auf der Sunseite jetzt nicht unbedingt einleuchtend war :rtfm:

Ciao


----------

