code: @Override
    public final <T> T retrieveEntity(final Map<String, Object> pAddParam,
      final Class<T> pEntityClass, final String pQuery) throws Exception {
      T entity = null;
      IRecordSet<RS> recordSet = null;
      try {
        recordSet = getSrvDatabase().retrieveRecords(pQuery);
        if (recordSet.moveToFirst()) {
          entity = retrieveEntity(pAddParam, pEntityClass, recordSet);
        }
      } finally {
        if (recordSet != null) {
          recordSet.close();
        }
      }
      return entity;
    }
docs: <p>Retrieve entity from DB by query.</p>
  @param <T> entity type
  @param pAddParam additional param, e.g. already retrieved TableSql
  @param pEntityClass entity class
  @param pQuery SELECT statement
  @return entity or null
  @throws Exception - an exception