我的表有3列,其中一列是json类型。当我尝试插入值时(使用空的json,但不管它是否为空,它都不起作用。)然后我得到错误:
java.lang.assertionerror:io.vertx.core.impl.nostacktracethrowable:位置[1]处class=[org.jooq.json]和value=[“{}”]的参数不能强制为预期的class=[java.lang.object]进行编码。
这是我的密码:
@Override
public Future<Void> saveInstances(List<Instances> instances, String tenantId) {
return getQueryExecutor(tenantId).transaction(queryExecutor -> queryExecutor.execute(dslContext -> {
InsertValuesStep3<InstancesRecord, UUID, JSON, String> insertValues = dslContext.insertInto(INSTANCES, INSTANCES.INSTANCE_ID,
INSTANCES.JSON, INSTANCES.REQUEST_ID);
instances.forEach(instance -> insertValues.values(instance.getInstanceId(), instance.getJson(), instance.getRequestId()));
return insertValues;
})
.map(rows -> null));
}
getqueryexecutor(tenantid)返回reactiveclassicgenericqueryexecutor对象insatnce.getjson()reutns org.jooq.json类型。
数据库是postgresql。我不想使用任何转换器等。文档中说jooq在本机上支持json和jsonb,但它们有什么问题?我也没有为包含json或jsonb列的表生成行Map器。
<jooq.version>3.13.2</jooq.version>
<vertx-jooq.generator.version>5.1.1</vertx-jooq.generator.version>
<vertx-jooq.classic-reactive.version>5.2.0</vertx-jooq.classic-reactive.version>
如果你对此感到困惑,任何建议都会有所帮助。谢谢您!
暂无答案!
目前还没有任何答案,快来回答吧!