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

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

唐伟
2023-03-14

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

当查询表并使用fetchInto时,只要POJO构造函数参数的顺序和数据库表中字段的顺序相同,这就可以正常工作。

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

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

共有1个答案

寿翰飞
2023-03-14

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

另请参阅DefaultRecordMapper的文档。

 类似资料:
  • 我想我必须从POJO注册一个自定义转换器来记录。有人知道怎么做吗?

  • 我有一个表tickets,其中插入ticket,并有一个createdBy字段,用于存储该记录创建者的UserId整数。在抓取过程中,我与users表和concat firstname和last name连接,并且我的DTO具有由连接的创建者名称创建的字段createdBy。如何映射派生字段?这是我的推荐信https://www.jooq.org/doc/3.13/manual/sql-execu

  • Java 8在这里使用Apache POI 4.1将Excel(XLSX)文件加载到内存中,并将Java Bean/POJO列表写回新的Excel文件。 对我来说,一个Excel文件(至少是我正在处理的文件)实际上是一个POJO列表,每一行都是POJO的不同实例,每一列都是该实例的不同字段值。观察: 在这里,我可能有一个名为Car的POJO,上面的示例电子表格是一个列表 因此,我有一个功能代码,可

  • 我试图通过jackson将以下json映射到pojo。我让第一部分工作(直到第节)。然而,第二部分我不确定如何将“section1”映射到这里可能包含的pojo或最佳实践? Json通过Rest电话收到: 波乔:

  • 我有以下模式: 项目(ID,名称)项目用户(项目ID,用户ID)用户(名称,ID) 实体如下 显然是一对多。项目可以有多个用户。 现在,我的目标是编写jooq查询,在那里我可以获取已经有相应用户的项目对象。 但是当预期约15时,查询将恢复千分之一的结果

  • 我将jOOQ与普通SQL(不是生成的代码)一起使用。我试图直接选择一个POJO,它有一些enum类型的字段。 在我看来,我只能为我的整个POJO指定一个高级映射器,如下所示: 我找不到仅为某些字段提供映射或转换器的方法。具体来说,我想告诉jooq“正常转换所有字段,除非我的POJO中的字段是MyEnum类型的,在这种情况下使用这个映射(或转换器)”。 如何为某些字段而不是其他字段指定映射器? 顺便