1
resposta

Exception ao compilar o codigo

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'agendaDeConsultas': Unsatisfied dependency expressed through field 'medicoRepository': Error creating bean with name 'medicoRepository' defined in med.voll.api.domain.medico.MedicoRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Could not create query for public abstract med.voll.api.domain.medico.Medico med.voll.api.domain.medico.MedicoRepository.escolherMedicoAleatorioLivreNaData(med.voll.api.domain.medico.Especialidade,java.time.LocalDateTime); Reason: Validation failed for query for method public abstract med.voll.api.domain.medico.Medico med.voll.api.domain.medico.MedicoRepository.escolherMedicoAleatorioLivreNaData(med.voll.api.domain.medico.Especialidade,java.time.LocalDateTime)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oi Vinicius!

Aparentemente está certo, mas deve ter algum espaço faltando ou algo do gênero.

Copia daqui que está certinho:

@Query("""
        select m from Medico m
        where
        m.ativo = 1
        and
        m.especialidade = :especialidade
        and
        m.id not in(
            select c.medico.id from Consulta c
            where
            c.data = :data
            and
            c.motivoCancelamento is null
        )
        order by rand()
        limit 1
    """)
Medico escolherMedicoAleatorioLivreNaData(Especialidade especialidade, LocalDateTime data);

Se mesmo assim não funcionar, manda aqui o código das suas classes Medico e Consulta