如何使用带有UUID字段的jOOQ为MySQL生成适当的SQL?

时间:2017-04-16 14:10:26

标签: mysql uuid jooq

我正在使用jOOQ 3.9.1并尝试使用UUID字段生成表。

val sql = dsl.createTable("test").column("id", SQLDataType.UUID).column("val", SQLDataType.UUID.length(36).nullable(false)).getSQL()

预期结果是:

create table `test`(`id` varchar(36) null, `val` varchar(36) not null)

但我得到了:

create table `test`(`id` varchar null, `val` varchar not null)

我做错了什么?

1 个答案:

答案 0 :(得分:0)

这是jOOQ 3.9.1及更早版本中的已知问题: https://github.com/jOOQ/jOOQ/issues/5807

最简单的解决方法是:

  1. 此处使用plain SQL作为整个声明
  2. 使用ExecuteListener修补生成的SQL输出