Olá Everaldo! Tudo bem?
Pelo que você descreveu e pelas imagens que você compartilhou, parece que o erro 500 está ocorrendo devido a um problema na consulta SQL executada pelo JPA. A mensagem de erro indica que há uma coluna desconhecida c1_0.data
na cláusula where
.
Esse tipo de erro geralmente ocorre quando há um problema no mapeamento das entidades ou na definição das consultas JPQL/HQL. Vamos verificar alguns pontos que podem estar causando esse problema:
Verifique a Entidade Consulta
:
Certifique-se de que a coluna data
está corretamente mapeada na entidade Consulta
.
@Entity
public class Consulta {
// outros campos
@Column(name = "data")
private LocalDateTime data;
// getters e setters
}
Verifique o Repositório:
Certifique-se de que a consulta JPQL/HQL está correta e que todos os campos referenciados existem na entidade.
public interface ConsultaRepository extends JpaRepository<Consulta, Long> {
@Query("select c from Consulta c where c.medico.id is null and c.data >= :data")
List<Consulta> findConsultasSemMedico(@Param("data") LocalDateTime data);
}
Verifique o Serviço:
Certifique-se de que o serviço que está chamando o repositório está passando os parâmetros corretamente.
@Service
public class AgendaDeConsultas {
@Autowired
private ConsultaRepository consultaRepository;
public void agendarConsulta(DadosAgendamentoConsulta dados) {
// lógica de agendamento
List<Consulta> consultas = consultaRepository.findConsultasSemMedico(dados.getData());
// mais lógica
}
}
Verifique o Banco de Dados:
Certifique-se de que a coluna data
realmente existe na tabela consultas
no banco de dados.
DESCRIBE consultas;
Atualize o Banco de Dados:
Caso a coluna data
não exista, você pode precisar atualizar o esquema do banco de dados.
ALTER TABLE consultas ADD COLUMN data DATETIME;
Se após essas verificações o problema persistir, por favor, compartilhe todo o seu código, via GitHub ou Drive do Google, para podermos analisar mais detalhadamente.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.