@Transactional
  public List<ModeloEntity> cargarModelos(MarcaEntity marca) throws DataAccessException {

    List<ModeloEntity> resultList =
        getEntityManager()
            .createNamedQuery("HQL_MODELO_POR_MARCA")
            .setParameter("idMarca", marca.getId())
            .getResultList();

    return resultList;
  }
  @Transactional
  public boolean modificarAccesorio(
      MarcaEntity marca,
      ModeloEntity modelo,
      CategoriaEntity categoria,
      HistorialInventarioEntity historial,
      AccesorioEntity accesorio)
      throws DataAccessException {

    boolean modificacion = false;

    try {

      if (marca.getId() == 0) { // Marca no existe
        entityManager.persist(marca);
      }

      modelo.setMarca(marca);

      if (modelo.getId() == 0) { // modelo no existe
        entityManager.persist(modelo);
      }

      accesorio.setModelo(modelo);

      if (categoria.getId() == 0) { // categoria no existe
        categoria.setTipoCategoria("accesorio");
        entityManager.persist(categoria);
      }

      accesorio.setCategoria(categoria);

      entityManager.merge(accesorio);

      historial.setAccesorio(accesorio);

      entityManager.persist(historial);

      modificacion = true;

    } catch (Exception e) {
      modificacion = false;
      throw e;
    } finally {

      entityManager.close();
      return modificacion;
    }
  }