/**
   * Añade un registro.
   *
   * @param dbCon Conexion a base de datos.
   * @throws Exception Si se produce algún error.
   */
  public void nuevo(String entidad) throws Exception {

    DynamicTable tableInfo = new DynamicTable();
    DynamicRows rowsInfo = new DynamicRows();
    DynamicRow rowInfo = new DynamicRow();
    FicheroHitoTabla table = new FicheroHitoTabla();
    DbConnection dbConn = new DbConnection();

    logger.debug("nuevo");

    try {
      dbConn.open(DBSessionManager.getSession(entidad));

      tableInfo.setTableObject(table);
      tableInfo.setClassName(FicheroHitoTabla.class.getName());
      tableInfo.setTablesMethod("getNombreTabla");
      tableInfo.setColumnsMethod("getNombresColumnas");

      rowInfo.addRow(this);
      rowInfo.setClassName(FicheroHitoDatos.class.getName());
      rowInfo.setValuesMethod("insertar");
      rowsInfo.add(rowInfo);

      DynamicFns.insert(dbConn, tableInfo, rowsInfo);

    } catch (Exception exc) {
      throw new ConsultaExcepcion(ConsultaCodigosError.EC_INSERTAR_FICHERO, exc.getCause());
    } finally {
      if (dbConn.existConnection()) dbConn.close();
    }
  }
  /**
   * Recupera de la base de datos los Ficheros adjuntos a un Hito.
   *
   * @param guidHito identificador del Hito.
   * @return FicherosHito Objeto de tipo ArrayList con los Ficheros
   * @throws ConsultaExcepcion Si se produce algún error.
   */
  public FicherosHito obtenerFicherosHito(String guidHito, String entidad)
      throws ConsultaExcepcion {
    if (isDebugeable) logger.debug("obtenerFicherosHito >> Guid Hito: " + guidHito);

    FicherosHito ficheros = new FicherosHito();
    FicheroHitoImpl fichero = null;
    FicheroHitoTabla tablaFicheros = new FicheroHitoTabla();
    DynamicTable tableInfo = new DynamicTable();
    DynamicRows rowsInfo = new DynamicRows();
    DynamicRow rowInfo = new DynamicRow();
    DbConnection dbConn = new DbConnection();

    try {
      dbConn.open(DBSessionManager.getSession(entidad));
      tableInfo.setTableObject(tablaFicheros);
      tableInfo.setClassName(FicheroHitoTabla.class.getName());
      tableInfo.setTablesMethod("getNombreTabla");
      tableInfo.setColumnsMethod("getNombresColumnas");
      rowInfo.setClassName(FicheroHitoDatos.class.getName());
      rowInfo.setValuesMethod("cargarColumnas");
      rowInfo.addRow(this);
      rowsInfo.add(rowInfo);
      if (DynamicFns.selectMultiple(
          dbConn, tablaFicheros.getClausulaPorGuidHito(guidHito), false, tableInfo, rowsInfo)) {
        int size = rowInfo.getRowCount();

        for (int counter = 1; counter < size; counter++) {
          fichero = (FicheroHitoImpl) rowInfo.getRow(counter);
          ficheros.add(fichero);
        }
      }

    } catch (Exception e) {
      throw new ConsultaExcepcion(ConsultaCodigosError.EC_OBTENER_HITOS_EXPEDIENTE, e.getCause());
    } finally {
      try {
        if (dbConn.existConnection()) dbConn.close();
      } catch (Exception ee) {
        DbException DbEx = new DbException(DbErrorCodes.CT_CERRAR_CONEXION);
        logger.warn(this, DbEx.getCause());
      }
    }
    return ficheros;
  }