Ich möchte eine Eins-zu-viele-Beziehung zwischen zwei Tabellen mithilfe einer Join-Tabelle. DieseHibernate von einem zu vielen mithilfe einer Join-Tabelle und Hibernate Annotationen
ist, warum ich eine Join-Tabelle verwenden möchten:
- Hibernate unidirectional one to many association - why is a join table better?
- Why is it recommended to avoid unidirectional one-to-many association on a foreign key?
Schließlich möchte ich Hibernate Annotationen verwenden auszuführen.
Ich habe einige Beispiele gefunden, die dies mit XML-Mapping tun, aber nichts mit Anmerkungen.
ich glaube, das wäre, wie die Tabellen
erstellt werden müssenCREATE TABLE `PRODUCT` (
`PRODUCT_ID` BIGINT PRIMARY KEY AUTO_INCREMENT
);
CREATE TABLE `PARTS` (
`PART_ID` BIGINT PRIMARY KEY AUTO_INCREMENT
);
-- USER_IMAGE_ID must be unique if we want a one-to-many relationship between PRODUCTS & PARTS tables
CREATE TABLE `USER_DETAILS_IMAGE` (
`PRODUCT_ID` BIGINT,
`PART_ID` BIGINT UNIQUE,
CONSTRAINT `FK_PRODUCT_ID` FOREIGN KEY (`PRODUCT_ID`) REFERENCES `PRODUCT`(`PRODUCT_ID`),
CONSTRAINT `FK_PART_ID` FOREIGN KEY (`PART_ID`) REFERENCES `PARTS`(`PART_ID`)
);
danke JB Nizet. Ich habe meine Frage mit dem aktualisiert, von dem ich glaube, dass die erforderlichen Tabellen aussehen würden. Ist das korrekt? –
danke für das Zeigen der Dokumentation (die einseitige Version ist praktisch!). Ich finde Dokumente präzise, aber unfreundlich, deshalb suche ich immer nach Beispielen, wenn ich anfange, an neuen Technikern zu arbeiten. Das war irgendwie nett, aber verpasste die Erstellung der Tabelle zu http://www.dzone.com/tutorials/java/hibernate/hibernate-example/hibernate-mapping-one-to-many-using-annotations-1.html –
Das sieht richtig aus, außer SERIAL_NUMBER sollte PRODUCT_ID sein, um die Anmerkungen zu entsprechen. –