Bonjour tout le monde,
j' ai cree une petite application ejb.
Pour le moment j'ai fait un formulaire de login avec deux champs (user,mdp):
Mon Bean Session:public class Login extends javax.swing.JFrame {
@EJB
private static CommunicationRemote communicationBean;
Client ClientConnecte;
/** Creates new form Login */
public Login() {
initComponents();
communicationBean=new CommunicationBean();
}
private void LoginActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(!TxtUser.getText().equals("") && !TxtPass.getText().equals(""))
{
try {
communicationBean.findByUserMdpAdmin(TxtUser.getText(), TxtPass.getText());
System.out.println("Administrateur connecté");
LInfo.setText("Info :Connection Réussie");
} catch (ExceptionCommunication ex) {
LInfo.setText(ex.getMessage());
}
}
}
Ma facade Administrator :@Stateful
@EJB
public class CommunicationBean implements CommunicationRemote {
@EJB
private AdministratorFacadeLocal administratorFacade=new AdministratorFacade();
...
public void findByUserMdpAdmin(String user, String pass) throws ExceptionCommunication{
Administrator c= administratorFacade.findByUserMdp(user, pass);
}
...
C est a cette ligne: qu=em.createNamedQuery("Administrator.findUserMdp"); que j obtient l erreur suivante : Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException.@Stateless
public class AdministratorFacade implements AdministratorFacadeLocal {
@PersistenceContext
private EntityManager em;
...
public Administrator findByUserMdp(String user, String pass) throws ExceptionCommunication{
try
{
System.out.println("Login:"+user.toString()+" /Pass:"+pass.toString());
Query qu=null;
qu=em.createNamedQuery("Administrator.findUserMdp");
qu.setParameter("login", user);
qu.setParameter("password", pass);
return (Administrator) qu.getSingleResult();
}
catch(NoResultException e)
{
throw new ExceptionCommunication("Login/Password Incorrect(s)");
}
}
...
Mon Entity creer avec netbeans (BD oracle):
Est-ce que quelqu'un sait pourquoi j'obtient toujours le NullPointerException?@Entity
@Table(name = "ADMINISTRATOR")
@NamedQueries({@NamedQuery(name = "Administrator.findUserMdp",
query = "SELECT c FROM ADMINISTRATOR c WHERE c.login = :login and c.password = :password" ),...})
public class Administrator implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name = "LOGIN", nullable = false)
private String login;
@Column(name = "PASSWORD", nullable = false)
private String password;
@Id
@Column(name = "IDADMIN", nullable = false)
private BigDecimal idadmin;
public Administrator() {
}
...
Merci
Partager