I created a server side Maven project called revison-ejb and Maven client project revison-ejb-client.
Database table is already created but I get NullPointerException when trying to insert into t_player table. Any help would be appreciated!
revison-ejb
Player.java
package edu.foot.entities;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
/**
 * Entity implementation class for Entity: Player
 *
 */
@Entity
@Table(name = "t_player")
public class Player implements Serializable {
    private int id;
    private int age;
    private String nom;
    private static final long serialVersionUID = 1L;
    public Player() {
        super();
    }
    public Player(int age, String nom) {
        super();
        this.age = age;
        this.nom = nom;
    }
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public int getAge() {
        return this.age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getNom() {
        return this.nom;
    }
    public void setNom(String nom) {
        this.nom = nom;
    }
    @Override
    public String toString() {
        return "Player [id=" + id + ", age=" + age + ", nom=" + nom + "]";
    }
}
PlayerServiceRemote.java
    package edu.foot.interfaces;
import edu.foot.entities.Player;
public interface PlayerServiceRemote {
    void add(Player player);
    void update(Player player);
}
PlayerService
package edu.foot.interfaces.impl;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import edu.foot.entities.Player;
import edu.foot.interfaces.PlayerServiceRemote;
@Stateless
public class PlayerService implements PlayerServiceRemote {
    @PersistenceContext
    EntityManager em;
    public void add(Player player) {
        em.persist(player);
    }
    public void update(Player player) {
        em.merge(player);
    }
}
revison-ejb-client
package edu.esprit.irt.Player;
import javax.naming.InitialContext;
import edu.foot.entities.Player;
import edu.foot.interfaces.PlayerServiceRemote;
public class AddPlayer {
    public static void main(String[] args) {
        InitialContext ctx = null;
        PlayerServiceRemote proxy = null;
        String jndi = "revison-ejb/PlayerService!edu.foot.interfaces.PlayerServiceRemote";
        try {
            ctx = new InitialContext();
            proxy = (PlayerServiceRemote) ctx.lookup(jndi);
        } catch (Exception e) {
        }
        Player p1 = new Player(10, "Dirar");
        proxy.add(p1);
    }
}
the error
Exception in thread "main" java.lang.NullPointerException
at edu.esprit.irt.Player.AddPlayer.main(AddPlayer.java:25)