JOOQ 中的 POJO 映射与参数顺序无关

POJO Mapping in JOOQ regardless of parameter order

当我生成 JOOQ POJO 时,构造函数遵循与数据库中字段相同的参数顺序 table。

当查询 table 和使用 fetchInto 这工作正常,只要 POJO 构造函数参数的顺序和数据库中字段的顺序 table 是一样。

return create
      .select()
      .from(KEY)
      .fetchInto(Key.class);

如何将上面的查询映射到 Key.class 而不管构造函数参数的顺序? 例如。我可以将 mapstruct 之类的东西与 JOOQ 结合使用吗?

您可以使用 @java.beans.ConstructorProperties 注释您的构造函数。我们还支持 Java 8 的参数名称反射(参见 https://github.com/jOOQ/jOOQ/issues/4627),但这似乎并不可靠,因为它取决于您在编译自己的代码时设置的标志。

另请参阅 DefaultRecordMapper 的文档。