sql >> Database teknologi >  >> RDS >> Mysql

Den Blandede Parlamentariske Forsamling fortsætter mange til mange

Ok først tak til Mikko for at lede mig til svaret. Jeg ville bare skrive et svar, der kunne være direkte nyttigt for enhver anden, der kunne være i den position, jeg var i. Dette er også baseret på et Eureka-øjeblik, så det er muligvis ikke teknisk korrekt, men det er sådan, jeg ser det.

Det store problem, jeg står over for, var, at jeg i MySQL kunne se brobordet som et individuelt bord! (beklager, jeg kan ikke poste et billede af mit EER-diagram, men jeg ser ikke ud til at have nok privilegier i øjeblikket) Så jeg antog, at Java også ville se brotabellen som en tabel! Det gør den ikke. Den broderingstabel eksisterer ikke rigtig i Java som en konventionel tabel, den er faktisk repræsenteret af den modstående tabelsamlingstype, som du forbinder med den.

Den nemmeste måde at se det på for mig var helt at glemme brotabellen og koncentrere sig om de to 'rigtige' tabeller og associere dataene i disse. Følgende kode er IKKE bedste praksis, da jeg blot indstiller rolle_id, men det er fint bare for at vise min pointe.

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);

Håber det hjælper enhver anden, der kæmper med mange til mange forhold.

(NB. Jeg har redigeret den originale spørgsmålskode til at bruge en liste i stedet for en samling for nemheds skyld, men du kan lige så godt bruge enhver anden type, der passer til dine behov.)



  1. Anmodning indstillet i Concurrent Manager

  2. oprettelse af tidsplanopgave uden Cron-job

  3. MySQL:Returnerer flere kolonner fra en in-line underforespørgsel

  4. Postgresql intarray fejl:udefineret symbol:pfree