Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Bug] Semantic Exception - avaliação

.semanticexception: cannot compare left expression of type 'java.lang.string' with right expression of type 'java.lang.double'

me deparei com o seguinte erro na busca por série, avaliacao utilizando o metodo


// código omitido


private void buscarSeriesPorAtor() {
        System.out.println("Qual o nome para busca?");
        var nomeAtor = leitura.nextLine();
        System.out.println("Avaliações a partir de que valor? ");
        var avaliacao = leitura.nextDouble();
        List<Serie> seriesEncontradas = repositorio.findByAtoresContainingIgnoreCaseAndAvaliacaoGreaterThanEqual(nomeAtor, avaliacao);
        System.out.println("Séries em que " + nomeAtor + " trabalhou: ");
        seriesEncontradas.forEach(s ->
                        System.out.println(s.getTitulo() + " avaliação: " + s.getAvaliacao()));
}

alguem pode me ajudar?

3 respostas

Olá Luis, tudo bem?

Esse erro ocorre porque você está tentando comparar uma String com um Double na sua consulta. Olhei o seu código e ele está certinho. Portanto, para identificar esse problema, peço que verifique se o código referente a repositorio.findByAtoresContainingIgnoreCaseAndAvaliacaoGreaterThanEqual está corretamente definido.

Verifique se está conforme ao do curso.

Espero ter ajudado e fico à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Caused by: org.postgresql.util.PSQLException: ERROR: column "avaliacao" cannot be cast automatically to type double precision Dica: You might need to specify "USING avaliacao::double precision".

fiz algumas alterações no código Monaliza, ele chega até rodar, mas no retorno da avaliação, ele fecha a aplicação e acima, o ERRO!

Então até vi que o retorno do erro estava nessa comparação, e tentei encontrar outras palavras CHAVE, pq achei que o que estava causando essa comparação era a AND.

Mas, não encontrei nada parecido, bom enfim refiz e agora surgiu esse novo erro rsrs. Obrigado!

solução!

PS. Na minha tabela no banco de dados, a coluna avaliacao esta setada como double precision!