Bonjour,

Je suis débutant avec les EJB et j'utilise le projet CRUD générer automatique par netbeans. jusqu'ici tout ce passe bien. J'ai un scénario. Je veux créer un Utilisateur qui appartient à un Groupe.
1. Je sélectionne le groupe (parmi la liste des groupes existants).
2. J'introduis les infos de l'utilisateur puis je sauvegarde.

Voici la déclaration des managedbeans Groupe et Utilisateur.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
ManagedBean(name = "utilisateurController")
@SessionScoped
public class UtilisateurController extends BaseController {
 
    private Utilisateur current;
    private DataModel items = null;
    private InputStream stream = null;
    @EJB
    private com.netescape.jpa.facades.UtilisateurFacade ejbFacade;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
@ManagedBean(name = "groupeController")
@RequestScoped
public class GroupeController extends BaseController {
    @EJB
    private com.netescape.jpa.facades.GroupeFacade ejbFacade;
la classe UtilisateurFacade est déclarée comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
@Stateless
public class UtilisateurFacade extends AbstractFacade<Utilisateur> {
 
    @PersistenceContext(unitName = "netescapeAppPU")
    private EntityManager em;
la classe mère AbstractFacade comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
public abstract class AbstractFacade<T> {
    private Class<T> entityClass;
    public AbstractFacade(Class<T> entityClass) {
        this.entityClass = entityClass;
    }
    protected abstract EntityManager getEntityManager();
voici le code qui pose problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
 public String addUtilisateur() {
        UtilisateurController uc = new UtilisateurController();
        for (BaseEntity entity : getSelected(getItems().iterator())) {
            uc.getCurrent().setGroupe((Groupe) entity);
        }
        JsfUtil.addWarningMessage("Il y a déjà un Profil pour cet Utilisateur");
        JsfUtil.setSessionController(UtilisateurController.getAttribute(), uc);
        return "Utilisateur";
    }
je crée un managedbean UtilisateurController au qu'elle j'ajoute le groupe sélectionné. au moment de la création du managedbean toutes les valeurs sont correctement initialisées à l'exception de l'EJB qui est null.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
public String create() {
        try {
            getFacade().create(current);
            JsfUtil.addSuccessMessage(ResourceBundle.getBundle(PathLink.JSF_RESSOURCES).getString("UtilisateurCreated"));
            return "List";
        } catch (Exception e) {
            JsfUtil.addErrorMessage(e, ResourceBundle.getBundle(PathLink.JSF_RESSOURCES).getString("PersistenceErrorOccured"));
            return null;
        }
    }
Quand je fais appel à l'EJB pour sauvegarder l'utilisateur la méthode getFacade() retourne null, donc je ne sais pas sauvegarder l'utilisateur créer. Quelqu'un peut il m'expliquer comment accéder correctement à mon EJB?