minosubb
Messages postés31Date d'inscriptionjeudi 24 avril 2008StatutMembreDernière intervention24 septembre 2020
-
27 avril 2008 à 02:21
minosubb
Messages postés31Date d'inscriptionjeudi 24 avril 2008StatutMembreDernière intervention24 septembre 2020
-
27 avril 2008 à 02:23
J'ai un JavaBean IdentityBean (avec son IdentityRemote dans le meme package identity) qui accede à la table Identity avec pour seule et unique methode de fournir l'identifiant + 1 et de remplacer la valeur en cours par la suivante. Ce Java Bean ne doit JAMAIS etre appele par l'appli client, mais uniquement par des JavaBean. Il n'est la que pour fournir la clé primaire (unique) des autres tables.
J'ai un JavaBean PlayerBean (avec son PlayerBean dans le meme package player) qui cree dans la table Player une nouvelle occurence via une methode public Integer ajoutPlayer(String Nom, String Prenom) je ne veux pas lui passer Idplayer
L'erreur que j'obtient sur IdentityBean.recupereNouvelIdentity() : Cannot make a static reference to the non-static method recupereNouvelIdentity() from the type IdentityBean
Je ne comprend pas trop le message.
Voici mes 2 JavaBean :
<hr size="2" width="100%" />IdentityBean.java :
@Stateless
public class PlayerBean implements PlayerRemote
{
@PersistenceContext(unitName = "player")
private EntityManager manager;
@SuppressWarnings("unchecked")
public void ajoutPlayer(Player Player)
{
manager.persist(Player);
}
public Integer ajoutPlayer(String nom, String password)
{
Player p1 = new Player(IdentityBean.recupereNouvelIdentity().getIdentity(),nom, password);
manager.persist(p1);
return p1.getIdplayer();
}
<hr size="2" width="100%" />
Erreur obtenue : Cannot make a static reference to the non-static method recupereNouvelIdentity() from the type IdentityBean
Je suppose que je dois surement ouvrir le context avec le unitName="identity" pour y acceder, mais en dehors du client, je ne vois pas comment.
dans le client, avant d'acceder a ajoutPlayer, j'ai
InitialContext ic1 = new InitialContext();
PlayerRemote pr1 = (PlayerRemote) ic1.lookup(JNDI_PLAYER);
pr1.ajoutPlayer(Nom, Password);
avec comme variable : private static final String JNDI_PLAYER = "PlayerBean/remote";
J'espere avoir exposé correctement mon probleme.
Merci de m'aider
Minos
A voir également:
Appel d'un JavaBean (maj de base) par un autre JavaBean