Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro 403 Query did not return a unique result: 2 results were returned

Hibernate: 
    select
        u1_0.id,
        u1_0.login,
        u1_0.senha 
    from
        usuarios u1_0 
    where
        u1_0.login=?
Hibernate: 
    select
        count(*) 
    from
        pacientes p1_0 
    where
        p1_0.id=?
Hibernate: 
    select
        c1_0.id 
    from
        consultas c1_0 
    where
        c1_0.medico_id is null 
        and c1_0.data=? 
    fetch
        first ? rows only
Hibernate: 
    select
        p1_0.ativo 
    from
        pacientes p1_0 
    where
        p1_0.id=?
Hibernate: 
    select
        c1_0.id 
    from
        consultas c1_0 
    where
        c1_0.paciente_id=? 
        and c1_0.data between ? and ? 
    fetch
        first ? rows only
Hibernate: 
    select
        m1_0.id,
        m1_0.ativo,
        m1_0.crm,
        m1_0.email,
        m1_0.bairro,
        m1_0.cep,
        m1_0.cidade,
        m1_0.complemento,
        m1_0.logradouro,
        m1_0.numero,
        m1_0.uf,
        m1_0.especialidade,
        m1_0.nome,
        m1_0.telefone 
    from
        medicos m1_0 
    where
        m1_0.ativo=1 
        and m1_0.especialidade=? 
        and m1_0.id not in (select
            c1_0.medico_id 
        from
            consultas c1_0 
        where
            c1_0.data=?)
2023-12-23T17:53:51.396-03:00 ERROR 14412 --- [nio-8080-exec-8] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.dao.IncorrectResultSizeDataAccessException: Query did not return a unique result: 2 results were returned] with root cause

org.hibernate.NonUniqueResultException: Query did not return a unique result: 2 results were returned
1 resposta
solução!

Olá, Kennedy!

Pelo que entendi, você está tendo um problema com uma consulta que está retornando mais de um resultado, quando deveria retornar apenas um. Isso está causando uma exceção NonUniqueResultException.

O erro está acontecendo porque a consulta que você está fazendo está retornando mais de um resultado, quando deveria retornar apenas um. Isso pode acontecer se você estiver fazendo uma consulta que espera um resultado único (como getSingleResult ou uniqueResult), mas a consulta está retornando mais de um resultado.

Uma maneira de resolver isso é garantir que sua consulta sempre retorne um resultado único. Isso pode ser feito adicionando condições adicionais à sua consulta para torná-la mais específica, ou tratando o caso em que mais de um resultado é retornado.

Por exemplo, se você estiver usando o Hibernate, pode usar o método setMaxResults(1) para limitar a consulta a retornar apenas um resultado. Assim:

List<SeuObjeto> results = session.createQuery("sua consulta")
    .setMaxResults(1)
    .list();

if (results.isEmpty()) {
    // trate o caso em que nenhum resultado é retornado
} else {
    SeuObjeto result = results.get(0);
    // faça algo com o resultado
}

Espero que isso ajude a resolver seu problema. Lembre-se de que é importante entender por que sua consulta está retornando mais de um resultado quando você espera apenas um. Isso pode indicar um problema com os dados em seu banco de dados ou com a maneira como você está fazendo a consulta.

São apenas sugestões, vale testar e ver se funciona.

Espero ter ajudado e bons estudos!