当前位置: 首页 > 知识库问答 >
问题:

如何初始化自定义行类型Jooq记录

谢泽语
2023-03-14

类似于这个问题:如何在Jooq中初始化和创建ResultSet和记录?但使用自定义行类型记录而不是简单的表记录。我正在实例化一个jooq记录以用于模拟,但该记录有超过22列并包含来自许多连接表的行,所以我使用RecordImpl。

RecordImpl r1 = new RecordImpl();
r1.set(COURSE.ID.as("course_id"), 1);

这引发异常

java.lang.IllegalArgumentException:行()中不包含字段(“course\u id”)

注意,我没有直接使用RecordImpl,因为它是包私有的,所以我使用了

public class RecordWrapper extends RecordImpl {}

如何直接在未类型化的Jooq记录上设置字段?

共有1个答案

公良文彬
2023-03-14

您不应该实例化或扩展RecordImpl,它是jOOQ内部API的一部分。相反,使用DSLContext。newRecord(),例如。

Record1<Integer> r1 = ctx.newRecord(COURSE.ID.as("course_id")).values(1);
 类似资料:
  • 我创建了一个示例容器,它在内部存储在std::vector中。我希望能够用std::vector初始化容器。因此,我创建了一个构造函数,它采用std::initializer_list,还采用begin和end。 但我似乎不能这样初始化: 这里的问题是什么?我该怎么修复? 代码在这里:

  • 如何向Swift中的子类添加自定义初始化器? 我创建了的一个子类,它看起来如下所示: 如果我加上这个,Xcode会抱怨处初始化。所以我想这也不是解决办法。所以我想知道如何在Swift中将自定义初始化器正确地添加到子类中(因为在Objective-C中这似乎不是问题)?

  • 在Laravel中加载自定义助手类有很多问题。然而,它们都没有专注于通过适当的初始化加载它们。 从Laravel 5.3版开始,我们可以使用psr-4自动加载,即自动加载整个目录。但是,类正在加载,但从未初始化。 我在。这个类有一个构造函数,我想在其中加载一些重要的配置,以使助手可用。 那么,如何在加载助手的同时在Laravel中正确初始化它呢?现在我只是使用

  • 我需要从包含自动生成的jooq记录的Vaadin网格中添加/删除/自定义列。 现在我喜欢(例如)添加一个按钮。 结果: java.lang.IllegalStateExcture:此Grid的容器不是Grid()构造函数的默认容器 使用Vaadin表,效果很好。但读完这篇文章后,我喜欢使用网格 我在这里找到了发生这种情况的原因 如何使用我在这里找到的简单bean编写容器 我如何才能实现与jooq记

  • Swift 5.x String初始化、定义 1. 字面量初始化字符串 1.1 单行字面量字符串 let str = "some string" 1.2 字面量初始化多行字符串 let str = """ The white Rabbit put on his spectacles. "Where shell I begin, please your Majesty?" he asked. "

  • 本文向大家介绍Swift使用参数自定义初始化,包括了Swift使用参数自定义初始化的使用技巧和注意事项,需要的朋友参考一下 示例 请注意,您不能省略参数标签: 为了允许省略参数标签,请使用下划线_作为标签: 如果参数标签使用一个或多个属性共享名称,请使用self显式设置属性值: