Klassendiagramm 1:n Beziehung

Ich habe ein Klassendiagramm indem es 2 Klassen gibt, die mit einer Assoziation verbunden sind.

Die Klassen heißen Person und Mitarbeiter.

Auf der Person Seite steht eine 1. Auf der Mitarbeiter Seite steht ein 0…1.

D. h. doch die beiden Klassen sind über eine 1:n Beziehung miteinander verbunden.

Die Verknüpfung in den Klassen sieht wie folgt aus:

Person.java

  @OneToMany(mappedBy = "person", cascade = { CascadeType.DETACH, CascadeType.REFRESH, CascadeType.REMOVE }, orphanRemoval = true)
  private List<Mitarbeiter> mitarbeiter;

Mitarbeiter.java

  @NotNull
  @ManyToOne
  @JoinColumn(name = "PERSON_ID")
  private Person             person;

Ist das jetzt eine 1:n Beziehung in Java? Müsste im KLassendiagramm nicht ein 0…* auf der Mitarbeiter Seite stehen?

Moin,

hmm, so ganz verstanden habe ich es nicht!

Hängt aber IMHO stark davon ab, welche konketen Daten dort überhaupt verwaltet werden!
Bspw. kann EINE Person Mitarbeiter bei mehreren Firmen/Projekten etc. sein …

Gruß
Klaus

Nein, wenn Du Dich an diese Spezifikation hältst, heißt das „Eine Person hat entweder einen oder keinen Mitarbeiter“ und nicht „Eine Person hat diverse Mitarbeiter“. Dein Zweifel an der Korrektheit ist aber nachvollziehbar. Rein von den Begriffen her würde man annehmen, dass eine Person auch mehrere Mitarbeiter haben kann. Dann wäre es 1:n.

Das Mapping und der Java-Code bilden eine 1:n Beziehung korrekt ab.

Ob das neben der Korrektheit auch eine gute Implementierung ist, steht auf einem anderen Blatt. „Mitarbeiter“ hört sich für mich nicht nach einer eigenen Entität an. Vielmehr würde ich hier auch Personen sehen. Ohne mehr Kontext natürlich alles nur basierend auf der recht eingeschränkten Sichtweise auf die Begriffe Person und Mitarbeiter.

Ich weiß nicht, ob ich das richtig verstanden habe. Im UML Klassendiagramm kann man folgendes angeben:

1 ----- 0,1

1 ----- 0…1

Das eine bedeutet, die Klasse kann 0 oder einmal vorkommen. Das andere , die Klasse kann 0 bis 1 einmal vorkommen.
Kann mir jemand sagen was das für Beziehungen sind? Ist das eine 1:1 Beziehung? Wenn ja, was ist das andere?

Die erste Notation (mit dem Komma) ist IMHO streng genommen keine valide UML-Darstellung. Die mit den Punkten ist valide. Davon abgesehen stellen sie beide dasselbe dar, eine 1:1-Beziehung.