Ola,
Na realidade sao duas coisas. A primeira seria a pesquisa no banco de dados. Pode ser que nas próximas aulas precise, mas seria necessário apenas instanciar um medido e um paciente?
var paciente = new Medico(dados.getPacienteId());
var medico = new Medico(dados.getMedicoId());
Já nao seria suficiente para fazer o relacionamento para salvar?
Se for para validar se ambos existem no banco de dados, e realmente precise fazer a pesquisa, eu acho que ficaria melhor usar o orElseTrow()
. Eu sei que tem N formas de fazer, mas é uma dica de validação para o ID e nao estourar uma exception futuramente.
var paciente = pacienteRepository.findById(dados.getPacienteId())
.orElseThrow(() -> new RuntimeException("Paciente não cadastrado."));