# Hibernate - Welche Beziehung?



## markusk21 (3. Mrz 2010)

Hallo zusammen,
ich möchte eine Anwendung schreiben, die folgende Beziehungen hat.
Es nehmen Personen an einer Sportveranstaltung teil. Natürlich gibt es jede Person nur ein mal 
Es gibt mehrere Wettkämpfe, an denen die Personen teilnehmen können, aber auch ohne Wettkampf da sein können.
Nur damit ich nicht gleich beim Entwurf Mist baue - das ist doch dann keine one-to-one Beziehung oder?
Eine One-to-many hab ich mir überlegt.

Die Objekte, die aus den Daten möglich sein sollen sind natürlich sehr unterschiedlich:
- Person mit zugehörigen Wettkämpfen oder eben ohne.
- Wettkampf mit allen Personen
- Wettkampf ohne Personen (zur Definition) kann glaub ich die selbe Klasse wie die vorherige sein

Liege ich mit einer one-to-many Beziehung richtig?

Gruß
Markus


----------



## Firestorm87 (3. Mrz 2010)

markusk21 hat gesagt.:


> Es nehmen Personen an einer Sportveranstaltung teil


Mehrere Personen können an mehreren Veranstaltungen Teilnehmen => Many2Many
(Person A nimmt an Veranstaltung A und B Teil und Person A und B nehmen beide an Veranstaltung C teil)

One2Many kommt hier nur in Frage, wenn jede Person an nur einer einzigen Veranstaltung teilnehmen kann... Das ist aber denke Ich nicht der Fall...

/EDIT: Solche Dinge sollten aber normal spätestens bei der erstellung der Modell-Klassen auffallen, da man bei hier probleme bekommen sollte in einer einzigen Variablen mehrere Veranstaltungen oder Personen zu speichern 
Und sobald man auf beiden Seiten (also Person und Veranstaltung) Listen verwenden muss, habe Ich auf beiden Seiten "Many" Verknüpfungen... also Many2Many  (ja ist sehr bildlich gesprochen)


----------



## markusk21 (3. Mrz 2010)

Danke, ich war auch echt unsicher...
Ist schon ne ganz schöne Umstellung von dem direkten DB-Zugriff.


----------



## Firestorm87 (3. Mrz 2010)

markusk21 hat gesagt.:


> Danke, ich war auch echt unsicher...
> Ist schon ne ganz schöne Umstellung von dem direkten DB-Zugriff.



Es geht eigentlich...

Wobei Ich mir ja eingestehen muss sehr oft doch selber die DB anzulegen und dann Hibernate daran auszurichten...
Oder doch direkt JDBC zu nutzen....


----------

