Null Pointer Estranho[RESOLVIDO]

Estou com um problema aqui que não consigo reolver:

metodo para salvar no BD


    public void salvarContabil(Contabil contabil) {
        try {
            em.getTransaction().begin();
            em.persist(contabil);
            em.getTransaction().commit();
        } catch (Exception e) {
            //Verificar se a transaction esta ativa para chamar o rollbacks

            if (em.getTransaction().isActive()) {
                em.getTransaction().rollback();
            }
            throw e;

        }

    }

Metodo que pega os valores do meu form

private void cadastrarContabil() {
        String numSerie = equipamento.getText();
        String desc = descricao.getText();
        String imobil = imobilizado.getText();
        String data = dataCadastro.getText();
        String subNum = subNumero.getText();
        Integer local = localidade.getSelectedIndex();
        Integer qnt = Integer.parseInt(quantidade.getValue().toString());
        Float vCompra = Float.parseFloat(valorCompra.getText());
        Float vDepre = Float.parseFloat(valorDepreciacao.getText());
        Float vRes = Float.parseFloat(valorResidual.getText());

        if ((localidade.getSelectedIndex() == 0) || (quantidade.getValue() == (Integer) 0)
                || (equipamento.getText() == null || equipamento.getText().trim().equals(""))
                || (descricao.getText() == null || descricao.getText().trim().equals(""))
                || (valorCompra.getText() == null || valorCompra.getText().trim().equals(""))
                || (valorDepreciacao.getText().trim().equals("") || valorDepreciacao.getText() == null)
                || (valorResidual.getText().trim().equals("") || valorResidual.getText() == null)
                || (dataCadastro.getText() == null || dataCadastro.getText().trim().equals(""))
                || (subNumero.getText() == null || subNumero.getText().trim().equals(""))) {

            JOptionPane.showMessageDialog(rootPane, "Todos os campos devem ser preenchidos");

        } else {

            // System.out.println(numSerie+"\n"+ imobil+"\n"+ subNum+"\n"+data+"\n"+ local+"\n"+ qnt+"\n"+ vCompra+"\n"+ vDepre+"\n"+ vRes+"\n"+ desc);
            if (repository.buscarContabil(numSerie)!=null) {
                repository.salvarContabil(new Contabil(numSerie, imobil, subNum, data, local, qnt, vCompra, vDepre, vRes, desc));
                JOptionPane.showMessageDialog(rootPane, "Contabil cadastrado com sucesso !");
                limpar();

            } else {
                
                JOptionPane.showMessageDialog(rootPane, "Equipamento já cadastrado");
                equipamento.setText("");
            }

        }
    }
@Entity
public class Contabil implements Serializable {

    @Id
    @Column(nullable = false, length = 6)
    private String equNR;

    @Column(nullable = false, length = 10)
    private String imobilizado;

    @Column(nullable = false)
    private String subNumero;

    @Column(nullable = false)
    // @Temporal(javax.persistence.TemporalType.DATE)
    private String dataContabil;

    @Column(nullable = false)
    private Integer centroCusto;

    @Column(nullable = false)
    private int quantidade;

    @Column(nullable = false)
    private float valorAquisicao;

    @Column(nullable = false)
    private float valorDepreciacao;

    @Column(nullable = false)
    private float valorResidual;

    @Column(nullable = false)
    private String descricao;

    public Contabil() {

    }

    public Contabil(String equNR, String imobilizado, String subNumero, String dataContabil,
            Integer centroCusto, int quantidade, float valorAquisicao, float valorDepreciacao,
            float valorResidual, String descricao) {
        this.equNR = equNR;
        this.imobilizado = imobilizado;
        this.subNumero = subNumero;
        this.dataContabil = dataContabil;
        this.centroCusto = centroCusto;
        this.quantidade = quantidade;
        this.valorAquisicao = valorAquisicao;
        this.valorDepreciacao = valorDepreciacao;
        this.valorResidual = valorResidual;
        this.descricao = descricao;
    }

    /**
     * @return the equNR
     */
    public String getEquNR() {
        return equNR;
    }

    /**
     * @param equNR the equNR to set
     */
    public void setEquNR(String equNR) {
        this.equNR = equNR;
    }

    /**
     * @return the imobilizado
     */
    public String getImobilizado() {
        return imobilizado;
    }

    /**
     * @param imobilizado the imobilizado to set
     */
    public void setImobilizado(String imobilizado) {
        this.imobilizado = imobilizado;
    }

    /**
     * @return the subNumero
     */
    public String getSubNumero() {
        return subNumero;
    }

    /**
     * @param subNumero the subNumero to set
     */
    public void setSubNumero(String subNumero) {
        this.subNumero = subNumero;
    }

    /**
     * @return the dataContabil
     */
    public String getDataContabil() {
        return dataContabil;
    }

    /**
     * @param dataContabil the dataContabil to set
     */
    public void setDataContabil(String dataContabil) {
        this.dataContabil = dataContabil;
    }

    /**
     * @return the centroCusto
     */
    public Integer getCentroCusto() {
        return centroCusto;
    }

    /**
     * @param centroCusto the centroCusto to set
     */
    public void setCentroCusto(Integer centroCusto) {
        this.centroCusto = centroCusto;
    }

    /**
     * @return the quantidade
     */
    public int getQuantidade() {
        return quantidade;
    }

    /**
     * @param quantidade the quantidade to set
     */
    public void setQuantidade(int quantidade) {
        this.quantidade = quantidade;
    }

    /**
     * @return the valorAquisicao
     */
    public float getValorAquisicao() {
        return valorAquisicao;
    }

    /**
     * @param valorAquisicao the valorAquisicao to set
     */
    public void setValorAquisicao(float valorAquisicao) {
        this.valorAquisicao = valorAquisicao;
    }

    /**
     * @return the valorDepreciacao
     */
    public float getValorDepreciacao() {
        return valorDepreciacao;
    }

    /**
     * @param valorDepreciacao the valorDepreciacao to set
     */
    public void setValorDepreciacao(float valorDepreciacao) {
        this.valorDepreciacao = valorDepreciacao;
    }

    /**
     * @return the valorResidual
     */
    public float getValorResidual() {
        return valorResidual;
    }

    /**
     * @param valorResidual the valorResidual to set
     */
    public void setValorResidual(float valorResidual) {
        this.valorResidual = valorResidual;
    }

    /**
     * @return the descricao
     */
    public String getDescricao() {
        return descricao;
    }

    /**
     * @param descricao the descricao to set
     */
    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

}

No botao OK eu chamo o metodo de cadastrarContabil()

Classe Repository é onde estao os meus metodos (salvarContabil) acima

e por fim minha entidade Contabil
quando eu chamo repository.buscarContabil(numSerie)!=null ele da exception de null pointer eu fiz um ou.print ra confirmar se estava setando, e ele esta normal. O que será que é?

Obrigado !

Não é na variável “repositiry”? Não vi em nenhum lugar do código sua instanciação.

entao eu instancio ele no inico da do meu frame

 private static Repository repository;

o problema é que eu tenho um cadastro que é a mesma coisa que esse, e no outro frame funciona perfeitamete, ja tentei refazer o form e continua dando erro e é exatamento quando chama alguma funcao do repository, mas no outro form funciona tranquilo, tentei criar outra classe para executar os metodos e continua dando null pointer

Descobri o que era a Classe Repository estava Private :confused: , falta de atençao é triste !

mas obrigado ao Roger75 por ter responndio ao topico

Valews !