Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

JPA tồn tại nhiều đến nhiều

Ok, đầu tiên cảm ơn Mikko đã dẫn tôi đến câu trả lời. Tôi chỉ muốn đăng một câu trả lời có thể hữu ích trực tiếp cho bất kỳ ai khác có thể ở vị trí mà tôi đang đảm nhận. Ngoài ra, câu trả lời này dựa trên khoảnh khắc Eureka nên có thể không đúng về mặt kỹ thuật nhưng đây là cách tôi thấy.

Vấn đề lớn mà tôi phải đối mặt là trong MySQL, tôi có thể xem bảng bắc cầu như một bảng riêng lẻ! (Xin lỗi, tôi không thể đăng hình ảnh về sơ đồ EER của mình nhưng dường như tôi không có đủ đặc quyền vào lúc này) Vì vậy, tôi đã giả định rằng Java cũng sẽ xem bảng bắc cầu là một bảng! Vâng, nó không. Bảng bắc cầu đó không thực sự tồn tại trong Java như một bảng thông thường mà trên thực tế, nó được biểu thị bằng kiểu tập hợp các bảng đối lập mà bạn kết hợp với nó.

Cách dễ nhất để xem nó đối với tôi là hoàn toàn quên bảng bắc cầu và tập trung vào hai bảng 'thực' và liên kết dữ liệu trong chúng. Đoạn mã sau KHÔNG phải là phương pháp hay nhất vì tôi chỉ đơn giản là đặt role_id nhưng chỉ cần thể hiện quan điểm của tôi là được.

List<Roles> userRoleList = new ArrayList<Roles>();

Users currentUser = new Users();
currentUser.setUserId(userId);
currentUser.setUsername(email);
currentUser.setPassword(password);

Roles userRole = new Roles();
userRole.setRoleId("2");

userRoleList.add(userRole);
currentUser.setRolesCollection(userRoleList);

getUsersFacade().create(currentUser);

Hy vọng điều đó sẽ giúp ích cho bất kỳ ai khác đang gặp khó khăn với nhiều mối quan hệ.

(NB. Tôi đã chỉnh sửa mã câu hỏi ban đầu để sử dụng Danh sách thay vì Bộ sưu tập cho dễ dàng nhưng bạn cũng có thể sử dụng bất kỳ loại nào khác phù hợp với nhu cầu của mình.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách đặt Chuỗi kết nối với Khung thực thể

  2. nhận tất cả các mục của danh mục và con của nó

  3. Thủ tục được lưu trữ, MySQL và PHP

  4. Cách đọc truy vấn sql tới khung dữ liệu gấu trúc / python / django

  5. Trình kích hoạt MySQL có thể mô phỏng ràng buộc KIỂM TRA không?