Trong hướng dẫn Hibernate, chương 25 thực hành tốt nhất cho biết chúng ta nên sử dụng 2 mối quan hệ một-nhiều thay vì một-nhiều với một lớp liên kết trung gian. Tôi không thể thấy lợi ích của nó là gì: tại sao việc tạo ra một thực thể 3d tốt hơn trong khi nhiều người có thể tạo ra một bảng kết nối hoạt động như một liên kết trung gian này. Tuy nhiên, đề xuất này phải có lý do chính đáng.2 một-nhiều thay vì 1 nhiều đến nhiều
Ai đó có thể giải thích lý do cho đề xuất này? Cảm ơn bạn.
+1 (và tôi nghĩ rằng cũng có lý do hiệu suất để không sử dụng bảng nhiều người: ngủ đông sẽ gặp khó khăn khi tối ưu khi cập nhật bảng tham gia.) – Thierry
@Thierry, bạn không thể tránh được "nhiều -to-nhiều "bảng (tôi thích gọi nó là bàn nối) khi mô hình hóa mối quan hệ nhiều-nhiều. Những gì tôi nói không phải là bạn không nên có một bảng nối, nhưng bạn nên mô hình hóa bảng nối trực tiếp trong ORM, thay vì ngụ ý nó thông qua các thuộc tính sưu tập trên các đối tượng liên quan. –
Vâng, tôi hoàn toàn đồng ý với bạn, và có một lỗi đánh máy trong những gì tôi đã viết: tôi muốn nói rằng nhiều-nhiều có thể kém hiệu quả hơn hai nhiều-một (vì vậy thay vì 'không sử dụng' tôi muốn viết 'để sử dụng', điều đó hoàn toàn ngược lại ý nghĩa -_-). Vì vậy, ngay cả khi bạn biết bạn sẽ không có bất kỳ tài sản nào khác trong bảng tham gia, có thể là một ý kiến hay khi xem xét ánh xạ nó như một thực thể. – Thierry