如何使用带有 UUID 字段的 jOOQ 为 MySQL 生成正确的 SQL?
How to generate proper SQL for MySQL with jOOQ with UUID fields?
我正在使用 jOOQ 3.9.1 并尝试使用 UUID 字段生成 table。
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)
我做错了什么?
这是 jOOQ 3.9.1 及更早版本中的已知问题:
https://github.com/jOOQ/jOOQ/issues/5807
最简单的解决方法是:
- 此处对整个语句使用plain SQL
- 使用
ExecuteListener
修补生成的 SQL 输出
我正在使用 jOOQ 3.9.1 并尝试使用 UUID 字段生成 table。
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)
我做错了什么?
这是 jOOQ 3.9.1 及更早版本中的已知问题: https://github.com/jOOQ/jOOQ/issues/5807
最简单的解决方法是:
- 此处对整个语句使用plain SQL
- 使用
ExecuteListener
修补生成的 SQL 输出