Na execução da Native Query ocorreu o seguinte erro: could not initialize proxy [br.com.alura.spring.data.orm.Cargo#3] - no Session
O código da FuncionarioRepository, está idêntico ao do professor. É este aqui.
package br.com.alura.spring.data.repository;
import java.time.LocalDate;
import java.util.List;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;
import br.com.alura.spring.data.orm.Funcionario;
import br.com.alura.spring.data.orm.FuncionarioProjecao;
@Repository
public interface FuncionarioRepository extends CrudRepository<Funcionario, Integer>,
PagingAndSortingRepository<Funcionario, Integer>,
JpaSpecificationExecutor<Funcionario>{
List<Funcionario> findByNome(String nome);
@Query("SELECT f FROM Funcionario f WHERE f.nome = :nome "
+ "AND f.salario >= :salario AND f.dataContratacao = :data")
List<Funcionario> findNomeSalarioMaiorDataContratacao(String nome, Double salario, LocalDate data);
@Query(value = "SELECT * FROM funcionarios f WHERE f.data_contratacao >= :data",
nativeQuery = true)
List<Funcionario> findDataContratacaoMaior(LocalDate data);
@Query(value = "SELECT f.id, f.nome, f.salario FROM funcionarios f", nativeQuery = true)
List<FuncionarioProjecao> findFuncionarioSalario();
}
Todas as queries acima funcionam, exceto a terceira, a native query, que busca funcionários pela data de contratação. O que pode estar errado? Estou usando o Java 17. O restante (Maria DB e DBeaver) é o que foi recomendado pelo professor