Bom dia pessoal. Ao realizar o cadastro de Consultas, a Query para selecionar um médico aleatório com base na especialidade passada me retorna um erro por conta do limit = 1. Como posso fazer para contornar esse problema? Segue abaixo o medicoRepository:
public interface MedicoRepository extends JpaRepository<MedicoModel, Long> {
Page<MedicoModel> findAllByAtivoTrue(Pageable paginacao);
@Query("select m from Medico m where m.ativo = true and m.especialidade = :especialidade and m.id not in (select c.medico.id from Consulta c where c.data = :data) order by rand() limit = 1")
MedicoModel escolherMedicoAleatorioLivreNaData(Especialidade especialidade, LocalDateTime data);
}
Caused by: org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract med.voll.api.models.medicos.MedicoModel med.voll.api.models.medicos.MedicoRepository.escolherMedicoAleatorioLivreNaData(med.voll.api.utils.Especialidade,java.time.LocalDateTime,double)! Reason: Using named parameters for method public abstract med.voll.api.models.medicos.MedicoModel med.voll.api.models.medicos.MedicoRepository.escolherMedicoAleatorioLivreNaData(med.voll.api.utils.Especialidade,java.time.LocalDateTime,double) but parameter 'Optional[limit]' not found in annotated query 'SELECT m FROM Medico m WHERE m.ativo = true AND m.especialidade = :especialidade AND m.id NOT IN (SELECT c.medico.id FROM Consulta c WHERE c.data = :data) order by rand() limit 1'!; nested exception is java.lang.IllegalStateException: Using named parameters for method public abstract med.voll.api.models.medicos.MedicoModel med.voll.api.models.medicos.MedicoRepository.escolherMedicoAleatorioLivreNaData(med.voll.api.utils.Especialidade,java.time.LocalDateTime,double) but parameter 'Optional[limit]' not found in annotated query 'SELECT m FROM Medico m WHERE m.ativo = true AND m.especialidade = :especialidade AND m.id NOT IN (SELECT c.medico.id FROM Consulta c WHERE c.data = :data) order by rand() limit 1'!