Update automatique avec JPA
Bonjour,
je débute avec JPA et j'ai actuellement un petit soucis de mise à jour sur mes entités.
J'ai deux classes, une classe Utilisateur et une classe Profils :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
class Utilisateur{
@ManyToMany(cascade = {CascadeType.ALL })
@JoinTable(
name="utilisateur_profil"
, joinColumns={
@JoinColumn(name="id_utilisateur", nullable=false)
}
, inverseJoinColumns={
@JoinColumn(name="id_profil", nullable=false)
}
)
private Set<Profil> profils;
.................
}
class Profil{
@ManyToMany(cascade = {CascadeType.ALL })
private Set<Utilisateur> utilisateurs;
.........
} |
Si je fais :
Code:
1 2 3 4 5 6 7
|
Utilisateur u = UtilisateurDAO.getUtilisateur(...);
Profil p = u.getProfils(1);
Profil newP = ProfilDAO.getProfile(p.getID());
newP.setValue("ma nouvelle valeur");
ProfilDAO.update(newP); |
J'ai bien en base le profil avec une valeur modifiée, par contre, si je refais un
Code:
1 2
|
Profil p = u.getProfils(1); |
Le profil en question n'est pas changé. Il faut que je refasse un appel au DAO de Utilisateur pour répercuter les modifications.
Est-ce possible de maintenir une cohérence entre la base et tous les objets instanciés de façon automatique avec JPA ?
Pour info, j'utilise eclipseLink comme implémentation de JPA et ma table faisant le lien entre utilisateurs et profils est nommée "utilisateur_profil".
Merci d'avance.