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!