Pas d'autres solutions ?
Version imprimable
Pas d'autres solutions ?
dis moi:
est ce que ceci est envisageable avec ton schema:
si oui , alors il ya un probleme avec ce que tu proposes.Code:
1
2
3
4
5
6 Users_1{ username = monitoring} Authorities_1{username = monitoring; authotity=Admin} Users_2{ username = other_name} Authorities_1{username = other_name; authotity=Admin}
Non c'est impossible car Auhtorities_1 ne peut pas avoir un username différent, c'est une clé primaire composé de username et de l'authority
et ceci:
Code:
1
2
3
4
5 Users_1{ username = monitoring} Authorities_1{username = monitoring; authotity=Admin} Users_2{ username = other_name} Authorities_2{username = other_name; authotity=Admin}
Oui c'est possible :)
Cela marchera si et seulement si tu as une table authorities ayant une paire de clés ( username, authority) et une clé primaire a part.
Eric
D'accord mais je ne peux pas changer mon schéma, il n'y a aucune méthode pour modifier l'utilisateur ?
Supprimer les authorities de l'user (remove), mettre à jour l'utilisateur, créer les new authorities (persit), les attacher et ensuite merger ?
je te conseillerais de :
dans la meme transaction
1. recuperer l´id du user
2. tx.begin()
3. Users users = em.find(Users.class, users_id)
4. users.setA("xxxxx")
5. tx.commit();
tout cela doit se faire dans la meme transaction
Eric
Quelque chose ressemblant à ceci ?
Je dois mettre ça où ? dans modify ou delete Users ? je fais quoi des authorities dans la table authorities ?Code:
1
2
3
4
5 EntityTransaction tx = getEM().getTransaction(); tx.begin(); Users users = getEM().find(Users.class, pUser.getUsername()); users.setAuthoritiesList(null); tx.begin();