Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Bug] query did not return a unique result: 3

Ele está inicializando normal agora porém quando faço a requisição de agendar ele retorna: jakarta.persistence.NonUniqueResultException: query did not return a unique result: 3

{ "idPaciente": 3, "idMedico": 3, "data": "08/03/2024 13:45" }

projeto: https://github.com/Gustavo-AOliveira/gerenciamento-de-clinicas

2 respostas

Olá, Gustavo! Tudo bem?

Pelo que você descreveu, parece que a consulta que você está fazendo está retornando mais de um resultado, quando deveria retornar apenas um. A exceção NonUniqueResultException é lançada quando o resultado esperado é único, mas a consulta retorna vários resultados.

No seu caso, como você está tentando agendar uma consulta, imagino que você esteja buscando por um médico ou paciente específico. Se a busca estiver sendo feita por ID, como parece ser o caso, você precisa garantir que os IDs sejam únicos para cada entidade.

Verifique se não há mais de um médico ou paciente com o mesmo ID no banco de dados. Você pode fazer isso manualmente ou adicionando uma restrição de unicidade no seu banco de dados.

Outra possibilidade é que a consulta esteja mal formulada e esteja retornando mais resultados do que deveria. Nesse caso, você precisaria revisar a consulta para garantir que ela está correta.

Por exemplo, se você estiver usando JPA, uma consulta que deveria retornar um único resultado poderia ser assim:

Medico medico = entityManager.createQuery(
    "SELECT m FROM Medico m WHERE m.id = :id", Medico.class)
    .setParameter("id", idMedico)
    .getSingleResult();

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.
solução!

Não tem medicos ou pacientes com id iguais e eu estou usando JPQL