Ich habe mit Hibernate arbeiten, und ich bin nicht ganz sicher, wie dieses Problem zu lösen, ich habe 2 Tabellen mit einer 1..n Beziehung wie folgt aus:
Hibernate Fremdschlüssel mit einem Teil des zusammengesetzten Primärschlüssel
------- TABLE_A ------- col_b (pk) col_c (pk) [other fields] ------- TABLE_B ------- col_a (pk) col_b (pk) (fk TABLE_A.col_b) col_c (fk TABLE_A.col_c) [other fields]
Wie kann ich das mit Hibernate schaffen?
Ich habe keine Ahnung, wie man einen Fremdschlüssel deklariert, der einen Teil des Primärschlüssels enthalten würde.
Mein Datenbankschema wird aus dem Hibernate-Modell generiert.
Wenn Sie den Winterschlaf kämpfen wollen ... gehen Sie voran und verwenden Sie zusammengesetzte Schlüssel. Wenn Sie ein viel einfacheres Leben wünschen, stellen Sie sicher, dass jede Tabelle eine einzelne Primärschlüsselspalte hat. Vertrauen Sie mir, es ist den Kampf nicht wert ... es ist ein Kampf, der Sie viele Stunden in der Zukunft kosten wird –
Was meinen Sie mit "Teil des Primärschlüssels"? Zusammengesetzte Primärschlüssel in Hibernate sind ziemlich einfach, aber Sie sollten nicht versuchen, dies zu verkomplizieren, indem Sie versuchen, nur einen Teil davon zu verwenden. Grundsätzlich benötigen Sie eine zusammengesetzte Schlüsselklasse. Es gibt eine Antwort hier mit allen grundlegenden Details: http://stackoverflow.com/questions/3585034/how-to-map-a-composite-key-with-hibernate – Karolis
Es gibt eine ziemlich gründliche Antwort hier: http: // stackoverflow .com/a/3588400/3166303 – leeor