public TblMaterial getBasicInfo(String noParte) {
    Query query =
        em.createQuery(
            "SELECT  c.idtblMaterial,c.noParte,c.nombre,c.descripcion,c.stock,c.costo,c.imagen, c.idArea.idArea, c.idTipomaterial.idTipomaterial,c.subFamiliasidsubFam.idsubFam, c.idArea.descripcion, c.idTipomaterial.descripcion, c.subFamiliasidsubFam.nombre  FROM TblMaterial c WHERE c.noParte = :noParte");
    query.setParameter("noParte", noParte);

    Object[] object = (Object[]) query.getSingleResult();
    TblMaterial temp = new TblMaterial();
    temp.setIdtblMaterial((Integer) object[0]);
    temp.setNoParte((String) (object[1]));
    temp.setNombre((String) (object[2]));
    temp.setDescripcion((String) (object[3]));
    temp.setStock((Integer) (object[4]));
    temp.setCosto((Long) (object[5]));
    temp.setImagen((String) (object[6]));

    TblArea area = new TblArea((Integer) (object[7]));
    area.setDescripcion((String) object[10]);
    temp.setIdArea(area);

    TblTipomaterial tipo = new TblTipomaterial((Integer) (object[8]));
    tipo.setDescripcion((String) object[11]);
    temp.setIdTipomaterial(tipo);

    Subfamilias sub = new Subfamilias((Integer) (object[9]));
    sub.setNombre((String) object[12]);
    temp.setSubFamiliasidsubFam(sub);

    return temp;
  }
  private List<TblMaterial> mtlResults(Query query) {
    List<TblMaterial> data = new ArrayList<>();
    List list = query.getResultList();
    for (Iterator it = list.iterator(); it.hasNext(); ) {
      Object[] object = (Object[]) it.next();
      TblMaterial temp = new TblMaterial();
      temp.setIdtblMaterial((Integer) object[0]);
      temp.setNoParte((String) (object[1]));
      temp.setNombre((String) (object[2]));
      temp.setDescripcion((String) (object[3]));
      temp.setStock((Integer) (object[4]));
      temp.setCosto((Long) (object[5]));
      temp.setImagen((String) (object[6]));

      TblArea area = new TblArea((Integer) (object[7]));
      area.setDescripcion((String) object[10]);
      temp.setIdArea(area);

      TblTipomaterial tipo = new TblTipomaterial((Integer) (object[8]));
      tipo.setDescripcion((String) object[11]);
      temp.setIdTipomaterial(tipo);

      Subfamilias sub = new Subfamilias((Integer) (object[9]));
      sub.setNombre((String) object[12]);
      temp.setSubFamiliasidsubFam(sub);
      temp.setInventariable((Boolean) object[13]);
      data.add(temp);
    }
    return data;
  }