# Hibernate ManyToOne



## OnDemand (16. Mai 2020)

Hallo zusammen,

eine Frage, ich habe ein Produkt mit einer Relation zu sagen wir Hersteller mit ManyToOne, also mehrere Produkte können den selben Hersteller haben.


Produkt.java
id
Hersteller

Hersteller.java
id
name
straße


Wenn ich nun ein Produkt erstelle und einen Hersteller adde, welcher noch nicht in der DB ist, soll der Hersteller angelegt werden. Wenn der Hersteller aber schon drin ist, soll der bestehende genommen werden (kann anhand des Herstellernamens identifiziert werden).

Gibt es eine elegantere Art, als erst den Hersteller abzufragen, dem Produkt adden und dann speichern?


----------



## lusitano (16. Mai 2020)

Moin. 

ich würde da den Hersteller in der DB Abfragen und schauen ob er schon vorhanden ist. Wenn ja dann erstelle Produkt zu Hersteller und wenn Nein lege Hersteller an und erstelle Produkt. 

Die Frage für mich wäre. Was machst du mit vertipper. 
z.B.   Mercedes ist angelegt aber jemand schreibt Mehrcedes


----------



## OnDemand (16. Mai 2020)

Dann wäre Mehrcedes ein neuer Hersteller und der wo es eingegeben hat, hat Pech. Muss er korrigieren


----------



## mrBrown (16. Mai 2020)

So rein aus Usability-Sicht würde ich das Trennen, ein Freitextfeld für die Auswahl des Herstellers und das implizite Anlegen eines Herstellers klingt beides für sich allein schon ziemlich schlecht.


----------



## OnDemand (16. Mai 2020)

Das kommt nicht aus nem frontend. Die Daten kommen aus einer Datei


----------



## mrBrown (16. Mai 2020)

Eine Datei kann auch "Frontend" sein  Wenn die Daten irgendwie durch einen Nutzer kommen, würde ich sowas immer explizit machen, sowohl auf Code- als auch auf Nutzer-Seite.


----------

