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

从POJO到Record的jOOQ映射器

马正初
2023-03-14
public void update(MyTable pojo){ 
  MyTableRecord record = dsl.newRecord(tables.MyTable.MY_TABLE, pojo);
  record.store();
}
org.jooq.exception.MappingException: An error ocurred when mapping record from class tables.pojos.MyTable
Caused by: org.jooq.exception.DataTypeException: Cannot convert from MyType (class udt.pojos.MyType) to class udt.records.MyTypeRecord

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

共有1个答案

赵钊
2023-03-14

您正在寻找RecordunMapper特性(问题#2520),该特性在Jooq3.8中尚未实现

您至少有以下两种可能的变通办法:

  1. 不要使用记录映射器,而是使用转换器或数据类型绑定。它们将允许您以两种方式实现转换,它不仅适用于POJO,还适用于记录
  2. 在调用DSLContext.NewRecord(表,对象)
  3. 之前,执行手动“取消映射”步骤
 类似资料:
  • 我有一个表tickets,其中插入ticket,并有一个createdBy字段,用于存储该记录创建者的UserId整数。在抓取过程中,我与users表和concat firstname和last name连接,并且我的DTO具有由连接的创建者名称创建的字段createdBy。如何映射派生字段?这是我的推荐信https://www.jooq.org/doc/3.13/manual/sql-execu

  • 我和jackson一起绘制地图,我有点迷茫。我的Json具有以下结构 我确实找到了很多处理数组的教程,但我在第一个标记“d”时就已经失败了。而且根本不需要所有的“_元数据”标记。 我创建了一个包含lastName等属性和一个集合附件的pojo。但我的代码在标记“d”或“_元数据”时总是失败 还有杰克逊的读者 任何提示都将不胜感激。 问候马蒂亚斯

  • 当我生成JOOQ pojo时,构造函数遵循与数据库表中字段相同的参数顺序。 当查询表并使用fetchInto时,只要POJO构造函数参数的顺序和数据库表中字段的顺序相同,这就可以正常工作。 如何将上面的查询映射到而不管构造函数参数顺序如何?例如,我可以将mapstruct之类的东西与JOOQ结合使用吗?

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

  • 我希望将XML反序列化为Java Pojo,但我不需要所有元素,并且我希望避免创建样板包装类来获取一些子元素 例如-->现在不起作用

  • 我使用JAVA jackson将JSON映射到JAVA pojo对象,我的JSON文件是: 在之后,我收到了以下错误消息: 不能反序列化出START_ARRAY令牌 我的POJO课程: 请问,这种JSON格式的正确java POJO是什么?谢谢