public void loadHabilidadRef(NivelHabilidadDO nivelHabilidadDO) throws SQLException {
    // XXX: Check this method's semantic
    checkClass(nivelHabilidadDO, NivelHabilidadDO.class, CHECK_UPDATE);

    HabilidadDAO habilidadDAO = new HabilidadDAO();
    habilidadDAO.init(connectionBean);

    Reference<HabilidadDO> ref = nivelHabilidadDO.getHabilidadRef();

    if (ref.getRefIdent() == 0) {
      return;
    }

    HabilidadDO habilidadDO = //
        (HabilidadDO) habilidadDAO.loadById(ref.getRefIdent());

    ref.setRefValue(habilidadDO);
  }
  @Override
  public void createTable() throws SQLException {
    StringBuffer strbuf;

    // ----------------------------------------

    strbuf = new StringBuffer();

    strbuf.append("DROP TABLE IF EXISTS ");
    strbuf.append(getTableName());
    strbuf.append(" CASCADE");

    System.err.println(strbuf.toString());

    connection.createStatement().execute(strbuf.toString());

    // ----------------------------------------

    strbuf = new StringBuffer();

    strbuf.append("DROP SEQUENCE IF EXISTS ");
    strbuf.append("seq_");
    strbuf.append(getTableName());

    System.err.println(strbuf.toString());

    connection.createStatement().execute(strbuf.toString());

    // ----------------------------------------

    HabilidadDAO habilidadDAO = new HabilidadDAO();
    habilidadDAO.init(connectionBean);

    strbuf = new StringBuffer();

    strbuf.append("CREATE TABLE ");
    strbuf.append(getTableName());
    strbuf.append(" (");
    strbuf.append(NivelHabilidadDO.ID);
    strbuf.append(" INT PRIMARY KEY, ");
    strbuf.append(NivelHabilidadDO.NIVEL_DE_HABILIDAD);
    strbuf.append(" INT,    ");
    strbuf.append(NivelHabilidadDO.EFECTIVIDAD);
    strbuf.append(" INT,   ");
    strbuf.append(NivelHabilidadDO.COSTO_DE_ENERGIA);
    strbuf.append(" INT,   ");
    strbuf.append(NivelHabilidadDO.PROBABILIDAD);
    strbuf.append(" INT,   ");

    strbuf.append(NivelHabilidadDO.HABILIDAD_ID);
    strbuf.append(" INT REFERENCES   ");
    strbuf.append(habilidadDAO.getTableName());

    strbuf.append(")");

    System.err.println(strbuf.toString());

    connection.createStatement().execute(strbuf.toString());

    // ----------------------------------------

    strbuf = new StringBuffer();

    strbuf.append("CREATE SEQUENCE ");
    strbuf.append("seq_");
    strbuf.append(getTableName());

    System.err.println(strbuf.toString());

    connection.createStatement().execute(strbuf.toString());
  }