Tôi muốn làm một mối quan hệ một-nhiều giữa hai bảng bằng cách sử dụng một bảng tham gia.hibernate một đến nhiều bằng cách sử dụng một bảng tham gia, và chú thích ngủ đông
Đây là lý do tại sao tôi muốn sử dụng một bảng tham gia:
- 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?
Cuối cùng, tôi muốn sử dụng chú thích Hibernate để thực hiện điều này.
Tôi đã tìm thấy một số ví dụ để thực hiện việc này bằng cách sử dụng ánh xạ xml nhưng không có gì có chú thích.
Tôi tin rằng đây sẽ là như thế nào các bảng cần phải được tạo ra
CREATE 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`)
);
cảm ơn bạn JB Nizet. Tôi đã cập nhật câu hỏi của mình với những gì tôi tin rằng các bảng yêu cầu sẽ trông như thế nào. Đúng không? –
cảm ơn vì đã chỉ dẫn tài liệu (phiên bản trang đơn có ích!). Tôi tìm tài liệu chính xác nhưng không thân thiện đó là lý do tại sao tôi luôn tìm kiếm các ví dụ khi bắt đầu làm việc trên các công nghệ mới. Đó là một trong những loại tốt đẹp nhưng bỏ qua phần tạo bảng quá http://www.dzone.com/tutorials/java/hibernate/hibernate-example/hibernate-mapping-one-to-many-using-annotations-1.html –
Có vẻ đúng, ngoại trừ SERIAL_NUMBER phải là PRODUCT_ID để khớp với chú thích. –