Problema para persistir clase ManyToMany

1 resposta
hhullck

Estou tentando persistir a classe cargo com uma lista de Perfil, mas da erro !
Ve se alguem sabe onde errei !

Classe tela
@Entity
public class Telas implements Serializable {
    @ManyToMany    
    private List<Perfil> perfils;
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private String nmTelas;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getNmTelas() {
        return nmTelas;
    }

    public void setNmTelas(String nmTelas) {
        this.nmTelas = nmTelas;
    }

    public List<Perfil> getPerfils() {
        return perfils;
    }

    public void setPerfils(List<Perfil> perfils) {
        this.perfils = perfils;
    } 
    

}//fim da Classe Telas
Classe Cargo
@Entity
public class Cargo implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private String nmCargo;
    @ManyToMany
    private List<Perfil> listPerfil;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getNmCargo() {
        return nmCargo;
    }

    public void setNmCargo(String nmCargo) {
        this.nmCargo = nmCargo;
    }

    public List<Perfil> getListPerfil() {
        return listPerfil;
    }

    public void setListPerfil(List<Perfil> listPerfil) {
        this.listPerfil = listPerfil;
    }

    @Override
    public String toString() {
        return  nmCargo;
    }    

}//fim da Classe Cargo
Classe perfil :
@Entity
public class Perfil implements Serializable {
    @ManyToMany(mappedBy = "listPerfil")    
    private List<Cargo> cargos;
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private String nmPerfil;
    @ManyToMany(mappedBy = "perfils")
    private List<Telas> listaTelas;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getNmPerfil() {
        return nmPerfil;
    }

    public void setNmPerfil(String nmPerfil) {
        this.nmPerfil = nmPerfil;
    }

    public List<Telas> getListaTelas() {
        return listaTelas;
    }

    public void setListaTelas(List<Telas> listaTelas) {
        this.listaTelas = listaTelas;
    }

    @Override
    public String toString() {
        return nmPerfil;
    }



}//fim da Classe Perfil
tentando persistir :
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        EntityManager em = EntityManagerProvider.getEntityManagerFactory().createEntityManager();



        Telas t = new Telas();
        Telas t2 = new Telas();
        t.setNmTelas("Cargo");
        t2.setNmTelas("Funcionario");

        Perfil p = new Perfil();
        p.setNmPerfil("Venda");        
        p.getListaTelas().add(t);
        p.getListaTelas().add(t2);

        Cargo c = new Cargo();
        c.setNmCargo("Caixa");        
        c.getListPerfil().add(p);

        em.getTransaction().begin();
        em.persist(t);
        em.persist(t2);
        em.persist(p);
        em.persist(c);
        em.getTransaction().commit();



        
    }

}
da o sequinte erro :
Exception in thread "main" java.lang.NullPointerException
        at tcc.Main.main(Main.java:35)
Java Result: 1

1 Resposta

luxu

erro está na linha 35…oq q tem lá?

Criado 8 de janeiro de 2012
Ultima resposta 8 de jan. de 2012
Respostas 1
Participantes 2