R
rocco82
Gast
Gruß
Ich beschäftige mich gerade mit etwas JPA (in Verbindung mit Seam) und bin auf folgendes Problem gestoßen:
Die JPA lässt sich ja im Grunde sehr komfortable behandeln, klappt soweit auch ganz gut. Aber nun zu einem Design-Problem:
Ich habe ein Entity "Medium" und ein "Entity" Schlagwort. Jedes Medium kann beliebig viele Schlagworte besitzen, andersrum, jedes gespeicherte Schlagwort zeigt auf viel Medien. Ok soweit der normale Ansatz. Ich habe zwischen beiden Tabellen eine Zwischentabelle mit einen zusammengesetzten Primärschlüssel (FK vom Medium plus FK vom Schlagwort). Das wiederum bekomm ich ich aber nicht realisiert. Ich hab die zwei entity Klassen, schön Annotationen dran (@OneToMany vs. @ManyToOne) aber die JPA generiert mir da keine Zwischentabelle, sondern schreibt die Fremdschlüssel als zusätzliche Attribute in die eigenen Tabelle. Dh. zb. bei Schlagwort steht dann der FK vom referenzierten Medium drin. So warum ist das nicht schön?
Weil der Primärschlüssel der Schlagworttabelle der Name des Schlagwortes selber ist. Das heisst so kann die 1:n Beziehung zwischen Medium und Schlagwort garnicht realiseirt werden. Das Schlagwort kann so nur auf ein Medium zeigen, aber nicht auf mehre.
Es geht nur, wenn in der Schlagwort Tabelle eine integer id als Primärschlüssel mitläuft (automatsich generiert). Aber das erscheint mir sehr unsauber. Ich hätte gedacht, die JPA erzeugt selber passende Zwischentabellen, oder seh ich hier was grundlegend falsch?
Danke fürs lesen, Gruß
need help
Ich beschäftige mich gerade mit etwas JPA (in Verbindung mit Seam) und bin auf folgendes Problem gestoßen:
Die JPA lässt sich ja im Grunde sehr komfortable behandeln, klappt soweit auch ganz gut. Aber nun zu einem Design-Problem:
Ich habe ein Entity "Medium" und ein "Entity" Schlagwort. Jedes Medium kann beliebig viele Schlagworte besitzen, andersrum, jedes gespeicherte Schlagwort zeigt auf viel Medien. Ok soweit der normale Ansatz. Ich habe zwischen beiden Tabellen eine Zwischentabelle mit einen zusammengesetzten Primärschlüssel (FK vom Medium plus FK vom Schlagwort). Das wiederum bekomm ich ich aber nicht realisiert. Ich hab die zwei entity Klassen, schön Annotationen dran (@OneToMany vs. @ManyToOne) aber die JPA generiert mir da keine Zwischentabelle, sondern schreibt die Fremdschlüssel als zusätzliche Attribute in die eigenen Tabelle. Dh. zb. bei Schlagwort steht dann der FK vom referenzierten Medium drin. So warum ist das nicht schön?
Weil der Primärschlüssel der Schlagworttabelle der Name des Schlagwortes selber ist. Das heisst so kann die 1:n Beziehung zwischen Medium und Schlagwort garnicht realiseirt werden. Das Schlagwort kann so nur auf ein Medium zeigen, aber nicht auf mehre.
Es geht nur, wenn in der Schlagwort Tabelle eine integer id als Primärschlüssel mitläuft (automatsich generiert). Aber das erscheint mir sehr unsauber. Ich hätte gedacht, die JPA erzeugt selber passende Zwischentabellen, oder seh ich hier was grundlegend falsch?
Danke fürs lesen, Gruß
need help