Ok, po pierwsze dzięki Mikko za doprowadzenie mnie do odpowiedzi. Chciałem tylko opublikować odpowiedź, która może być bezpośrednio pomocna dla każdego, kto może być w sytuacji, w której byłem. Jest to również oparte na momencie Eureki, więc może nie być technicznie poprawne, ale tak to widzę.
Dużym problemem, z którym się zmagam, było to, że w MySQL mogłem zobaczyć tabelę pomostową jako pojedynczą tabelę! (przepraszam, że nie mogę opublikować obrazu mojego diagramu EER, ale wydaje mi się, że w tej chwili nie mam wystarczających uprawnień) Założyłem więc, że Java również zobaczy tabelę pomostową jako tabelę! Cóż, nie. Ta tabela pomostowa tak naprawdę nie istnieje w Javie jako konwencjonalna tabela, w rzeczywistości jest reprezentowana przez typ kolekcji tabel przeciwnych, który z nią kojarzysz.
Najprostszym sposobem, aby to zobaczyć, było całkowite zapomnienie tabeli pomostowej i skoncentrowanie się na dwóch „prawdziwych” tabelach i powiązaniu w nich danych. Poniższy kod NIE jest najlepszą praktyką, ponieważ po prostu ustawiam role_id, ale wystarczy pokazać, o co mi chodzi.
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);
Mam nadzieję, że pomoże to każdemu, kto zmaga się z wieloma związkami.
(Uwaga:dla ułatwienia zmodyfikowałem oryginalny kod pytania, aby użyć Listy zamiast Kolekcji, ale równie dobrze możesz użyć dowolnego innego typu, który odpowiada Twoim potrzebom.)