2016-08-05 13 views
1

Gibt es in CUBA eine Standardmethode zum Modellieren von Attributen für Viele-zu-Viele-Assoziationen? Die Dokumentation lässt das Thema aus, also denke ich, dass es nicht so ist. In diesem Fall ist dies in der Roadmap?KUBA: Attribute für Viele-zu-Viele-Assoziation

+0

Da wir hier bei SO sind, kannst du erklären, was du schon versucht hast, was nicht funktioniert hat und wo die Probleme waren? –

+0

Eine Beziehung impliziert meiner Meinung nach keine Attribute. Wenn Sie Attribute benötigen, erstellen Sie eine Verknüpfungseinheit (was Sie wahrscheinlich bereits getan haben). – knstvk

+0

Verknüpfung Entität ist in der Tat eine Lösung, ich habe eine andere implementiert, siehe Antwort – Mike

Antwort

2

Für Viele-zu-Viele-Verknüpfungen (z. B. zwischen Produkten und Anbietern) generiert CUBA Studio automatisch eine Verknüpfungstabelle (mit Anbieter-ID und Produkt-ID).

Um bestimmte Attribute dieser Assoziation (z. B. Boolean preferredProvider) zu behandeln, müsste die preferredProvider-Spalte in der Verknüpfungstabelle hinzugefügt und eine Klasse mit den beiden IDs und dem Attribut erstellt werden.

Es würde wahrscheinlich auch Auswirkungen auf den Plafom-Mechanismus des Abrufens von Viele-zu-Viele-Assoziationen haben.

Ich bin mir ziemlich sicher, dass CUBA Studio es ab 2.2.3 nicht verwaltet - keine Option in Studio GUI, nichts in doc. Es ist natürlich immer noch möglich, den Fall manuell zu programmieren, aber man müsste JPQL manuell schreiben. Nicht unbedingt eine große Sache, aber verlieren eine starke Funktion der Plattform hier nur für ein Feld.

Also habe ich das preferredProvider-Feld als eine Eins-zu-eins-Verknüpfung von Produkt zu Provider erstellt, die eine gültige Problemumgehung auf Kosten einer zusätzlichen Zuordnung ist.

+0

Dies bietet keine Antwort auf die Frage. Um einen Autor zu kritisieren oder um Klärung zu bitten, hinterlasse einen Kommentar unter seinem Beitrag. - [Aus Bewertung] (/ review/low-quality-posts/13364237) –

+0

beantwortete meine eigene Frage durch eine Bearbeitung der genannten Frage, übertrug Antwort auf die tatsächliche Antwort aus Gründen der Klarheit – Mike

+0

Ah, hab es jetzt. In diesem Fall sollten Sie es abschliessen, indem Sie die Antwort akzeptieren, um allen zu zeigen, was die Arbeitslösung war. –