Java 带有getSingleResult()的Erro

Java 带有getSingleResult()的Erro,java,oracle,jpa,Java,Oracle,Jpa,我试图返回查询的唯一结果,如下所示: public UsuarioMenuVO consultar(UsuarioMenuVO usuarioMenuVO) throws MetrusDAOException { UsuarioMenuVO usuarioMenu = null; EntityManager em = null; StringBuilder jpql = new StringBuilder(); jpql.append("SELECT

我试图返回查询的唯一结果,如下所示:

public UsuarioMenuVO consultar(UsuarioMenuVO usuarioMenuVO) throws MetrusDAOException {
    UsuarioMenuVO usuarioMenu = null;
    EntityManager em = null;

    StringBuilder jpql = new StringBuilder();
    jpql.append("SELECT um FROM ").append(UsuarioMenuVO.class.getName()).append(" um ");

    if(usuarioMenuVO.getId() != null){
        jpql.append(" WHERE 1 = 1 ");
        jpql.append(" AND um.id = :idUsuarioMenu ");
    } else if(usuarioMenuVO.getUsuarioVO().getId() != null){
        jpql.append(" WHERE um.usuarioVO.id = :idUsuario ");
    }

    try{
        em = getEntityManager();
        TypedQuery<UsuarioMenuVO> q = em.createQuery(jpql.toString(), UsuarioMenuVO.class);

        if(usuarioMenuVO.getId() != null){
            q.setParameter("idUsuarioMenu", usuarioMenuVO.getId());
        } else if(usuarioMenuVO.getUsuarioVO().getId() != null){
            q.setParameter("idUsuario", usuarioMenuVO.getUsuarioVO().getId());
        }
        usuarioMenu = (UsuarioMenuVO)q.getSingleResult();
        return usuarioMenu;
    }catch(Exception e){
        logger.error(e, e);
        throw new MetrusDAOException(e);
    }finally {
        closeEntityManager(em);
    }
}

查询在Oracle中执行时返回值。认为问题出在getSingleResult()上,我将结果放在一个列表中,并试图从列表中获取索引0,但也出现了一个错误。我不知道该怎么办了

我想你的数据库里没有数据了。这就是你得到这个的原因。另外,您想在这里做什么?@user404但是有数据,当我在数据库中执行应用程序组装的同一个查询时,数据被返回。请检查一下,您是如何将数据插入数据库的?如果从数据库客户端插入,是否提交了该事务?
[EL Fine]: 2020-10-16 09:55:34.255--ServerSession(1977519967)--Connection(1898684397)--Thread(Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--SELECT COD_USUARIO_MENU, STA_ADMINISTRA_USUARIO, COD_ATUALIZACAO, DAT_ATUALIZ, DAT_CRIACAO_USUARIO, DAT_ULT_ACESSO, DAT_VALIDADE, CRP_PASSWORD, COD_SETOR, SIT_USUARIO, STA_SUPER, SEQ_USUARIO FROM ME_USUARIOS_MENU WHERE ((? = ?) AND (COD_USUARIO_MENU = ?))
    bind => [1, 1, "ANILDO"]
16/out 09:55:34,262 ERROR (UsuarioMenuDAO.java:53) - javax.persistence.NoResultException: getSingleResult() did not retrieve any entities.
javax.persistence.NoResultException: getSingleResult() did not retrieve any entities.
    at org.eclipse.persistence.internal.jpa.QueryImpl.throwNoResultException(QueryImpl.java:976)
    at org.eclipse.persistence.internal.jpa.QueryImpl.getSingleResult(QueryImpl.java:526)
    at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:400)