Boa tarde estou tentando fazer uma Query com itens específico,porém da um erro e não sei como resolver:
org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.lang.Long] to type [@org.springframework.data.jpa.repository.Query br.leg.ac.al.ambulatorio.domain.Consulta]
Controller:
package br.leg.ac.al.ambulatorio.web.cotroller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import br.leg.ac.al.ambulatorio.domain.Consulta;
import br.leg.ac.al.ambulatorio.repository.ConsultaRepository;
import br.leg.ac.al.ambulatorio.repository.PacienteRepository;
@Controller
@RequestMapping("/consultas")
public class ConsultaController {
@Autowired
private PacienteRepository pacienteRepository;
@Autowired
private ConsultaRepository consultaRepository;
@GetMapping("/cadastrar")
public String cadastrar(Consulta consulta) {
return "/consulta/cadastro";
}
@PostMapping("/salvar")
public String salvar(Consulta consulta,RedirectAttributes attr) {
consultaRepository.save(consulta);
attr.addFlashAttribute("success", "Paciente agendado com sucesso");
return "redirect:/consultas/listar";
}
// =============================AUTOCOMPLETE=======================================
@GetMapping("/search")
public ResponseEntity<?> autocompleteByTermo(@RequestParam("termo") String termo){
List<String> pacientes = pacienteRepository.findPacientesByTermo(termo);
return ResponseEntity.ok(pacientes);
}
//==============================LISTAR CONSULTAS=====================================
@GetMapping("/listar")
public String listar(ModelMap model) {
model.addAttribute("consultas", consultaRepository.findAll());
return "/consulta/lista";
}
//==============================EXCLUIR CONSULTAS=====================================
@GetMapping("/excluir/{id}")
public String exluir(@PathVariable("id") Long id, RedirectAttributes attr) {
consultaRepository.deleteById(id);
attr.addFlashAttribute("success", "Consulta excluida com sucesso.");
return "redirect:/consultas/listar";
}
@GetMapping("/calendario")
public String calendario(ModelMap model) {
model.addAttribute("consultasCalendar", consultaRepository.encontrarConsultas());
return "/consulta/calendario";
}
Repository:
package br.leg.ac.al.ambulatorio.repository;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import br.leg.ac.al.ambulatorio.domain.Consulta;
@Repository
public interface ConsultaRepository extends JpaRepository<Consulta, Long> {
@Query("select c.startData, c.endData, c.paciente.nome from Consulta c")
List<Consulta> encontrarConsultas();
}