有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓 Java Web服务在数据库中保存后返回null

我有以下问题。这是我的web服务:

我得到了Cina的id和名字:

@GET
    @Path("oficinas/{idEmpresa}")
    @Produces({"application/json"})
    public List<Oficinas> listaOficinas(@PathParam("idEmpresa") String idEmpresa) {
        int numReg;
        Query query = em.createNativeQuery("SELECT ID_OFICINA, NOMBRE_OFICINA FROM OFICINAS WHERE ID_OFICINA =\""+idEmpresa+"\"", Oficinas.class);
        numReg = query.getResultList().size();
        if(numReg > 2) {
            numReg -= 2;
        } else {
            numReg = 0;
        }
        query.setFirstResult(numReg);
        return (List<Oficinas>) query.getResultList();
    }

根据办公室信息获取员工全名:

@GET
    @Path("personalLaborando/{idOficina}")
    @Produces({"application/json"})
    public List<Personal> personalLaborando(@PathParam("idOficina") String idOficina) {
        int numReg;
        Query query = em.createNativeQuery("SELECT ID_PERSONAL, NOMBRE, APELLIDO_PATERNO, APELLIDO_MATERNO "
                + "FROM PERSONAL WHERE ID_OFICINA = \""+idOficina+"\"", Personal.class);
        numReg = query.getResultList().size();
        if(numReg > 100 ) {
            numReg -= 100;
        }else {
            numReg = 0;
        }
        query.setFirstResult(numReg);
        return (List<Personal>) query.getResultList();
    }

获取类别的代码:

@GET
    @Path("categorias")
    @Produces({"application/json"})
    public List<Categoria> listaCategoria() {
        int numReg;
        Query query = em.createNativeQuery("SELECT *FROM CATEGORIA", Categoria.class);
        numReg = query.getResultList().size();
        if(numReg > 10) {
            numReg -= 10;
        } else {
            numReg = 0;
        }
        query.setFirstResult(numReg);
        return (List<Categoria>) query.getResultList();
    }

保存前我的Json类别:

[{"descripcion":"MOBILIARIO","idCategoria":1},{"descripcion":"PAPELERIA","idCategoria":2},{"descripcion":"ELECTRONICA","idCategoria":3},{"descripcion":"LIMPIEZA","idCategoria":4},{"descripcion":"OTRO","idCategoria":5}]

办公室:

[{"idOficina":22,"nombreOficina":"ORFIS SUR"}]

个人:

[{"apellidoMaterno":"karla","apellidoPaterno":"karla","idPersonal":2,"nombre":"Karla"},{"apellidoMaterno":"Lopez","apellidoPaterno":"Lopez","idPersonal":3,"nombre":"Juan"},{"apellidoMaterno":"Jimenez","apellidoPaterno":"Lopez","idPersonal":8,"nombre":"Rico"}]

保存后:

类别:

[{"descripcion":"MOBILIARIO","idCategoria":1},{"descripcion":"PAPELERIA","idCategoria":2},{"descripcion":"ELECTRONICA","idCategoria":3},{"idCategoria":4},{"descripcion":"OTRO","idCategoria":5}]

办公室:

[{"idOficina":22}]

个人:

[{"apellidoMaterno":"karla","apellidoPaterno":"karla","idPersonal":2,"nombre":"Karla"},{"apellidoMaterno":"Lopez","apellidoPaterno":"Lopez","idPersonal":3,"nombre":"Juan"},{"idPersonal":8}]

好的,当客户端将数据加载到微调器中并选择他想要的内容时,这种方法可以很好地工作,但是在发送数据并继续希望选择办公室和员工之后,我会得到空值

我犯了什么错? 我怎样才能解决这个问题


共 (1) 个答案

  1. # 1 楼答案

    只在后面添加下一个代码行 em.persist()

    em.clean();
    

    准备好了