bonjour,
je suis débutante au développement ejb, je commence par la création d'une entité bean, une session qui utilise les différents champs de cette entité, puis je fait un appel aux différentes méthodes de la session bean via une classe client et il fonctionne très bien
mais lorsque j'ai ajouté une autre entité bean ainsi que une session qui exploite les paramètres de cette entité, et j'ai appelé via le client. lors de l’exécution j'ai une erreur. pouvez vous m'aider à résoudre ce problème.
entité personne:
public class EntitePersonne implements Serializable
{
private static final long serialVersionUID = 1L;
@Id
private String id;
private String Nom;
private int PositionX;
private int PositionY;
private boolean blesse;
public EntitePersonne() {
super();
}
public EntitePersonne(String id) {
this.id = id;
}
public EntitePersonne(String id, String Nom, int PositionX, int PositionY)
{
this.id = id;
this.Nom = Nom;
this.PositionX= PositionX;
this.PositionY= PositionY;
this.blesse= false;
}
public String getNom() {
return Nom;
}
public void setNom(String Nom) {
this.Nom = Nom;
}
public int getPositionX() {
return PositionX;
}
public void setPositionX(int PositionX) {
this.PositionX = PositionX;
}
public int getPositionY() {
return PositionY;
}
public void setPositionY(int PositionY) {
this.PositionY = PositionY;
}
public String getBlesse() {
return Nom;
}
public void setBlesse() {
this.blesse= false;
}
public String getId() {
return id;
}
public String toString() {
return "Capteur n°" + id + " - " + Nom + " - cooredonne PositionX : " + PositionX+" PositionY: "+PositionY;
}
}
la session personneBean
public class PersonneBean implements Personne
{
@PersistenceContext(name="for")
private EntityManager em;
@Override
public void ajouter(EntitePersonne P)
{
em.persist(P);
em.flush();
}
public void deplacer(String[][] foret, EntitePersonne P)
{
Double dx=Math.random();
Double dy=Math.random();
Double dMax=Math.random();
int dxx= dx.intValue()*2;
int dyy= dy.intValue()*2;
int Max= dMax.intValue()*foret.length;
int X;
int Y;
for(int i=0;i<Max;i++)
{
X=P.getPositionX()+dxx;
Y=P.getPositionY()+dyy;
P.setPositionX(X);
P.setPositionY(Y);
}
}
@Override
public List<EntitePersonne> listerToutesLesPersonnes()
{
return em.createQuery("SELECT p FROM EntitePersonne p ").getResultList();
}
}
le client
public class GestionForet {
public static void main(String[] args) {
Vector infoPersonne= new Vector();
try {
Properties env = new Properties();
env.setProperty( "java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory" );
env.setProperty( "java.naming.provider.url", "127.0.0.1:1099" );
env.setProperty( "java.naming.factory.url.pkgs", "org.jboss.naming" );
Context context = new InitialContext(env);
Personne pers=(Personne)context.lookup("PersonneBean/remote");
EntitePersonne P1= new EntitePersonne("0111","Ali",0,0);
pers.ajouter(P1);
EntitePersonne P2= new EntitePersonne("0221","Med",0,0);
pers.ajouter(P2);
EntitePersonne P3= new EntitePersonne("0331","Salah",0,0);
pers.ajouter(P3);
EntitePersonne P4= new EntitePersonne("0441","Hsan",0,0);
pers.ajouter(P4);
EntitePersonne P5= new EntitePersonne("055","Mido",0,0);
pers.ajouter(P5);
List<EntitePersonne> pp = pers.listerToutesLesPersonnes();
for (Iterator<EntitePersonne> iterPers = pp.iterator();iterPers.hasNext()![]()
{
EntitePersonne eachPersonne = (EntitePersonne) iterPers.next();
System.out.println(eachPersonne);}
}
catch (javax.naming.NamingException ne)
{
ne.printStackTrace();
}
}
}
je pense que l'erreur s'est déclanchée lors de l'ajout des personnes!!!
Partager