1
resposta

Query did not return a unique result: 2

Ola! Estou com um outro problema que não consigo prosseguir. Estou recebendo : Exception in thread "main" javax.persistence.NonUniqueResultException: query did not return a unique result: 2. Não me retorna a soma dos valores.

public class JPQLTesteFuncoes {

public static void main(String[] args) {

    EntityManager em = new JPAUtil().getEntityManager();
    em.getTransaction().begin();

    Conta conta = new Conta();
    conta.setId(1);

    String jpql = "SELECT sum(m.valor) FROM Movimentacao m"
            + " WHERE m.conta = :pConta"
            + " AND m.tipo = :pTipo"
            + " GROUP BY m.valor"
            + " ORDER BY m.valor DESC";

    Query query = em.createQuery(jpql);
    // Named Parameter
    query.setParameter("pConta", conta);
    query.setParameter("pTipo", TipoMovimentacao.SAIDA);

    BigDecimal soma = (BigDecimal) query.getSingleResult();
    System.out.println(soma);

    em.getTransaction().commit();
    em.close();

}

}

insira seu código aqui
1 resposta

Oi Elias, tudo bem?

Utilize o método query.getResultList para retornar uma lista de resultados, ou ajuste sua query para agrupar em um único registro de retorno que deve resolver

Abraço!