title: JOOQ - column "id" is of type uuid but expression is of type character varying
body: <p>I'm having an issue related to JOOQ.</p>
  
  <p><strong>---------</strong><br>
  This is my "setup" that led to the issue.<br>
  Table:</p>
  
  <pre><code>CREATE TABLE "public".xyz
  (
    id UUID NOT NULL,
    CONSTRAINT pk_t_xyz PRIMARY KEY(id)
  );
  </code></pre>
  
  <p>Generated field with JOOQ is correct</p>
  
  <pre><code>public final TableField&lt;XYZRecord, UUID&gt; ID = createField("id", org.jooq.impl.SQLDataType.UUID.nullable(false), this, "comment");
  </code></pre>
  
  <p>UUID is from <code>java.util.*</code></p>
  
  <p>My "custom" POJO with UUID from <code>java.util.*</code>:</p>
  
  <pre><code>public class XYZ {
  
      @NotNull
      private UUID id;
  
      public XYZ (@NotNull UUID id) {
          this.id = id;
      }
  
      public UUID getId() {
          return id;
      }
  }
  </code></pre>
  
  <p>DSL configuration:</p>
  
  <pre><code>@Configuration
  public class DataSourceConfiguration {
  
      @Qualifier("dataSource")
      @Autowired
      private DataSource dataSource;
  
      @Bean
      public DefaultDSLContext dsl() {
          return new DefaultDSLContext(configuration());
      }
  
      @Bean
      public DataSourceConnectionProvider connectionProvider() {
          return new DataSourceConnectionProvider
              (new TransactionAwareDataSourceProxy(dataSource));
      }
  
      public DefaultConfiguration configuration() {
          DefaultConfiguration jooqConfiguration = new DefaultConfiguration();
          jooqConfiguration.set(connectionProvider());
          jooqConfiguration.set(new DefaultExecuteListenerProvider(exceptionTransformer()));
          return jooqConfiguration;
      }
  
      @Bean
      public ExceptionTranslator exceptionTransformer() {
          return new ExceptionTranslator();
      }
  }
  </code></pre>
  
  <p>Datasource in application.yml</p>
  
  <pre><code>spring:
    datasource:
      type: com.zaxxer.hikari.HikariDataSource
      driver-class-name: org.postgresql.Driver
      url: jdbc:postgresql://localhost:5432/xyz-data
  </code></pre>
  
  <p>Version of jooq is 3.10.5. I'm using <code>spring-boot-starter-jooq</code> with spring boot in version <code>2.0.0.RELEASE</code>. PostgresSQL version is 10.<br>
  <strong>------------------</strong><br>
  When I try to insert data like this:</p>
  
  <pre><code>    dslContext.insertInto(XYZ, XYZ.ID)
          .values(xyz.getId()).execute();
  </code></pre>
  
  <p>It does not work for some reason. As I understand from exception below JOOQ is casting UUID to string and therefore the SQL is invalid. Should I write some kind of converter or did I define something in wrong way? </p>
  
  <p>Error:</p>
  
  <pre><code>org.springframework.jdbc.BadSqlGrammarException: Access database using jOOQ; bad SQL grammar [insert into "public"."xyz" ("id") values (?)]; nested exception is org.postgresql.util.PSQLException: ERROR: column "id" is of type uuid but expression is of type character varying
    Hint: You will need to rewrite or cast the expression.
    Position: 225
  [...]
  Caused by: org.postgresql.util.PSQLException: ERROR: column "id" is of type uuid but expression is of type character varying
    Hint: You will need to rewrite or cast the expression.
    Position: 225
      at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2422)
      at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2167)
      at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:306)
      at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:441)
      at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:365)
      at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:155)
      at org.postgresql.jdbc.PgPreparedStatement.execute(PgPreparedStatement.java:144)
      at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44)
      at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java)
      at org.jooq.tools.jdbc.DefaultPreparedStatement.execute(DefaultPreparedStatement.java:209)
      at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:429)
      at org.jooq.impl.AbstractDMLQuery.execute(AbstractDMLQuery.java:452)
      at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:347)
      ... 51 more
  </code></pre>