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

Duvidas sobre Native Query

Alguem poderia me explicar o motivo pelo qual da erro quando eu ultilizo a query dessa forma ?

@Query(value = "SELECT f.nome FROM funcionarios f WHERE f.data_contratacao >= :data",
            nativeQuery = true)

eu ja sei que basta substituir o f.nome por * e o resultado volta ok, mas eu não entendi o motivo de dar erro ja que ao testar essa mesma consulta no workbench, por exemplo, a consulta não da nenhum erro

2 respostas
solução!

Caso o retorno do seu método esteja como List<Funcionario> e vc seleciona somente o nome (f.nome) na query, o Spring não saberá como preencher os demais atributos da classe Funcionario e apresentará erro.

O que vc pode fazer nesse caso é mudar o retorno do seu método para List<String>.

Eu descobri no que eu estava errando, eu fiz a query como se fosse para a tabela no banco e não para a classe do objeto, o certo ceria Funcionarios e não funcionarios, valeu explicação

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software