title: Apache Ignite query / index
body: <p>I have a particular question about indexing with Apache Ignite.</p>
  
  <p>My need is to query the Cache without "knowing" the schema. Because I have no java class definition at some moments, so no annotation available. But Apache Ignite seems to need annotation to recognize fields.</p>
  
  <p>Is there a way to define queryable fields at runtime?</p>
  
  <p>I ask it because I'm building an technology agnostic application and I plug specialized class at runtime. Another problem for me is to extend classes for Apache Ignite and define fake fields just to make "the field" (assuming it's not the original field...) viewable from Apache Ignite.</p>
  
  <p>Did someone had the same "problem"?</p>
  
  <p>Original class Command :</p>
  
  <pre><code>public class Command {
      private String commandName;
  
      public void setCommandName(String commandName) {
          this.commandName = commandName;
      }
      public String getCommandName(){
          return this.commandName;
      }
  }
  </code></pre>
  
  <p>Extended Command class for Ignite SQL uses :</p>
  
  <pre><code>public class IgniteCommand extends Command{
      @QuerySqlField (name="name", index = true)
      private String _commandName;
  
      @Override
      public void setCommandName(String commandName) {
          super.setCommandName(commandName);
          this._commandName = getCommandName();
      }
  }
  </code></pre>
  
  <p>This above code works fine for me.</p>