我没有jOOQ生成的类,因此,我想使用我的类并将其写入vertica。
Table<Record> table = DSL.table(DATA_TABLE_NAME);
for (Data d : data) {
dsl.insertInto(table, Arrays.asList(
DSL.field(name("uuid"), SQLDataType.UUID)
))
.values(
d.getUuid(),
).execute();
}
在PostgreSql中它可以工作,但是在Vertica中,它会生成此异常
[Vertica][VJDBC](2631) ERROR: Column "uuid" is of type uuid but expression is of type varchar
我如何在没有生成类的情况下编写uuid tu Vertica?d.getUuid()返回java.Util.UUID
该UUID
类型在Vertica中相对新颖。从jOOQ 3.13开始,尚不支持它:https : //github.com/jOOQ/jOOQ/issues/10073
您必须为此查询创建自己的自定义数据类型绑定,并将其附加到您的SQLDataType.UUID
,例如
DSL.field(name("uuid"), SQLDataType.UUID.asConvertedDataType(new MyVerticaUUIDBinding()));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句