Bonjour,

Je suis débutant en Java et je dois modéliser une relation entre deux objets User et Client. Le principe est simple, un utilisateur peut gérer plusieurs clients et un client peut être géré par plusieurs utilisateurs.

Est-ce que je dois créer une relation via l'annotation @ManyToMany ou utiliser deux relations @ManyToOne vers une classe intermédiaire CliUser par exemple.

J'ai essayé d'ajouter ces annotations dans ma classe User :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
@ManyToMany
    @JoinTable(name="cliuser",
    	joinColumns = {@JoinColumn(name = "login", referencedColumnName="login")},
    	inverseJoinColumns = {@JoinColumn(name = "icli", referencedColumnName="icli")} 
    )
private Collection<Client> clients;
Mais lorsque je veux faire un merge sur le client dont la liste d'User a été modifiée, j'obtiens une EJBException caused by NullPointerException at registerObjectForMergeCloneIntoWorkingCopy.