# MVC was gehört ins Model bei einer relationalen DB



## Ovoxo (21. Mrz 2016)

Hi zusammen,

Ich bin Java Anfänger und habe eine Frage.
Ich habe in meiner DB (Postgresql) zwei Tabellen. Kunden und Ortschaften.
In der Tabelle Kunden habe ich folgende Attribute.


```
id
name
vorname
ort_id
```

Die ort_id, ist der FK zur Tabelle Ortschaft. In dieser Tabelle habe ich folgende Attribute


```
id
ort
plz
```

In meinem Projekt, habe ich pro Tabelle ein Model.
Nun wollte ich wissen, ob ich beim rausholen der Daten zwei zusätzliche Variablen für ort und plz im Model Kunden habe oder diese Werte in Model Ortschaft hole?

Ich frage darum, da ich bei meiner Abfrage meistens nur den Namen der Ortschaft brauche und somit nicht die ID und die PLZ ins Model fülle.

Hoffe Ihr versteht meine Anliegen.


----------



## Joose (21. Mrz 2016)

Nein du solltest eine eigene Klasse Ortschaft deklarieren und diese eben ihre eigenen Daten verwalten lassen.
1) Solltest du mehrere Kunden in der gleichen Ortschaft haben dann musst du X Daten mehrfach im Speicher halten
2) Änderst du eine Ortschaft, müsstest du bei jedem Kunden die Daten für die Ortschaft neusetzen, bei einem eigenen Objekt reicht es dieses eine(!) Objekt neu zu laden
3) Wenn du einen neuen Kunden einträgst brauchst du die passende ID, hier wäre es mühsam diese erst noch nachzufragen, wenn du sie schon im Speicher haben könntest.


----------



## Ovoxo (21. Mrz 2016)

Nun ist mir leider Unklar wie ich dies an die VIEW übergebe. Es handelt sich um eine JSF Webapplikation.
Aktuell habe ich diese Zusatz Variablen erstellet. Danach habe ich die Daten dem Model übergeben, das Model an eine ArrayList und diese dann dem h:dataTable.
Das heisst nun müsste ich dem View zwei ArrayList übergeben?


----------



## Joose (21. Mrz 2016)

Nein du übergibst einfach nur eine Liste mit Kunden. In der View muss du nur definieren was er anzuzeigen hat und wie.
Du kannst ja die Spalten für den dataTable festlegen und auch welche Werte er da anzuzeigen hat.


----------



## Ovoxo (21. Mrz 2016)

Sorry das ich soviel Frage, jedoch ist das Thema sehr neu für mich.
Ich verstehe noch nicht wie ich die Zimmer Daten anzeigen soll, wenn ich nur die Schüler(Kunden) Daten übergebe. Diese beinhalten ja nicht die Zimmer Daten sondern nur den FK.


----------



## mrBrown (21. Mrz 2016)

Ovoxo hat gesagt.:


> Sorry das ich soviel Frage, jedoch ist das Thema sehr neu für mich.
> Ich verstehe noch nicht wie ich die Zimmer Daten anzeigen soll, wenn ich nur die Schüler(Kunden) Daten übergebe. Diese beinhalten ja nicht die Zimmer Daten sondern nur den FK.



Beziehung über Schlüssel solltest du nur in den Tabellen so haben, im Model ersetzt die den Schlüssel mit der Referenz aufs passende Objekt, also Kunden enthalten die Ortschaft.


----------

