wie zwei Spalten als Primärschlüssel in der Annotationsklasse Hibernate erstellt werden

7

Dies ist meine Annotationsklasse und ich möchte userId und groupId Spalte als Primärschlüssel. Ich habe mehr Fragen ( Frage ) dazu gefunden, aber keine relevante Antwort gefunden. Ich habe weniger Ansehen, daher kann ich keine Beiträge kommentieren. Also stelle ich meine Frage hier.

Das ist mein Code ..

%Vor%     
amit bhardwaj 22.01.2014, 13:25
quelle

1 Antwort

18

Sie sollten eine neue @Embeddable -Klasse erstellen, die die PK-Felder enthält:

%Vor%

Und verwende es in @Entity als @EmbeddedId :

%Vor%

Sie könnten auch die Annotation @IdClass für diesen Effekt verwenden.

Diese ausgezeichnete Antwort von Pascal Thivent erläutert die Details. Sie können sich auch diese andere Antwort ansehen, die ich vor einiger Zeit auf eine fast identische Frage gepostet habe.

Als Nebenbemerkung sollten Sie, wenn Sie Kontrolle über die DB-Struktur haben, auch die Vermeidung von zusammengesetzten Schlüsseln in Erwägung ziehen. Es gibt einige Gründe, dies zu tun .

    
Xavi López 22.01.2014, 16:21
quelle