1
resposta

Erro na projeção

estou tendo erro, nao esta buscando os dados dai lança null pointer justamente pq não sobe o objeto, vem: mailto:org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap@54d949ab

o escolad tô é uma projeção, uma interface, simplesmente so tem os gets dos 3 parâmetros que eu quero... o que ha de errado? tem outro método usando e funciona e eu coloquei da mesma forma Optional findEscolaEntityById(Long id);

1 resposta

Olá, Jade!

Pelo que você descreveu, parece que você está tentando fazer uma projeção usando Spring Data JPA, mas está encontrando um problema de NullPointerException. Isso geralmente ocorre quando você tenta acessar um método ou atributo de um objeto que ainda não foi inicializado.

No seu caso, o método findEscolaEntityById(Long id) está retornando um Optional, que é uma maneira segura de lidar com possíveis valores nulos. No entanto, se o método não encontrar nenhuma escola com o ID especificado, ele retornará um Optional vazio, o que pode causar um NullPointerException se você tentar acessar diretamente o valor sem verificar antes se ele está presente.

Para evitar isso, você pode usar o método isPresent() do Optional antes de tentar acessar o valor. Aqui está um exemplo:

Optional<EscolaDto> optionalEscola = findEscolaEntityById(id);
if (optionalEscola.isPresent()) {
    EscolaDto escola = optionalEscola.get();
    // Agora você pode usar o objeto escola
} else {
    // Tratar o caso em que a escola não foi encontrada
}

Outra possibilidade é que a projeção não esteja sendo feita corretamente. Certifique-se de que os nomes dos métodos get na sua interface de projeção correspondem exatamente aos nomes dos atributos na sua entidade. Por exemplo, se a entidade tem um atributo chamado nome, a interface de projeção deve ter um método chamado getNome().

Espero ter ajudado e bons estudos!