title: Keep type information of aliased fields in jOOQ
body: <p>I'm doing a join query with <a href="http://www.jooq.org" rel="nofollow">jOOQ</a>, in which I have to alias the columns from both tables to keep the column-names unique. </p>
  
  <p>Is there a way to circumvent the information loss that occurs when I do aliasing to columns? Or a better way to achieve the goal of columns name clashes following jOOQ's style?</p>
  
  <p>When I do alias all the Fields, all type information is lost:</p>
  
  <pre><code>List&lt;Field&lt;?&gt;&gt; columns = factory.select().from(t1j).limit(0).fetch().getFields();
  List&lt;Field&lt;?&gt;&gt; aliases = new LinkedList&lt;Field&lt;?&gt;&gt;();
  for (Field f : columns) {
      Field alias = Factory.fieldByName(t1j.getName(), f.getName())
                           .as(f.getName() + "_t1");
      aliases.add(alias);
  }
  
  // columns.get(0).getType() == "class java.lang.String"
  // aliases.get(0).getType() == "class java.lang.Object"
  </code></pre>