docs: @Override
    public final <T> T retrieveEntity(final Map<String, Object> pAddParam,
      final T pEntity) throws Exception {
      String query = evalSqlSelect(pAddParam, pEntity.getClass());
      pAddParam.put("isOnlyId", Boolean.TRUE);
      ColumnsValues columnsValues = evalColumnsValues(pAddParam, pEntity);
      pAddParam.remove("isOnlyId");
      String whereStr = evalWhereId(pEntity, columnsValues);
      @SuppressWarnings("unchecked")
      Class<T> entityClass = (Class<T>) pEntity.getClass();
      return retrieveEntity(pAddParam, entityClass,
        query + " where " + whereStr);
    }