无法使用jooq vertx classic reactive插入json值:org.jooq.json无法强制为预期的类java.lang.object

ryevplcw  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(233)

我的表有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>

如果你对此感到困惑,任何建议都会有所帮助。谢谢您!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题