title: Instantiating a jooq Field<> by name
body: <p>I'm trying to use jOOQ to build SQL queries in some generic code. I'm not interested in using jOOQ to execute those queries or to examine the results. Also, this code is generic so I cannot use jOOQ's code generation.</p>
  
  <p>I have managed to figure out this much:</p>
  
  <pre><code>List&lt;org.jooq.Field&lt;?&gt;&gt; fields = new ArrayList&lt;org.jooq.Field&lt;?&gt;&gt;();
  Field&lt;?&gt; field = Factory.field("somefield");
  fields.add(field);
  field = Factory.field("someotherfield");
  fields.add(field);
  
  Field&lt;Object&gt; fieldPK = Factory.field("somePKField"); 
  Condition condition = fieldPK.equal(123);
  
  Factory factory = new Factory(connection, SQLDialect.POSTGRES);
  SelectFinalStep step = factory.select(fields).from("sometable").where(condition);
  String query = step.getQuery().getSQL(true);
  </code></pre>
  
  <p>But Factory.field() and from() take generic SQL rather than actual table or field names, so there's no quoting (even when using RenderNameStyle.QUOTED) and no protection against SQL injection.</p>
  
  <p>Is there any way to create a Field or Table that know what their names are? Ideally, I could specify a Field by both its name and its parent table, with jOOQ building the "sometable"."somefield" string for me.</p>