gpt4 book ai didi

java - 从 POJO 到 Record 的 jOOQ 映射器

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:51:50 26 4
gpt4 key购买 nike

使用 jOOQ 3.8.6,我必须实现 record mapper由于获取的记录中有一些 UDT,从 Record 转换为 Pojo。现在,我想知道如何在从 Pojo 创建记录时执行相反的操作。

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 到 Record 的自定义转换器。有谁知道吗?

最佳答案

您正在寻找 RecordUnmapper feature (issue #2520) , 从 jOOQ 3.8 开始还没有实现

您至少有以下两种可能的解决方法:

  1. 不要使用 RecordMapper,而是使用 Converter或数据类型 Binding反而。这些将允许您以两种方式实现转换,它不仅适用于您的 POJO,还适用于您的记录
  2. 在调用 DSLContext.newRecord(Table, Object) 之前执行手动“取消映射”步骤

关于java - 从 POJO 到 Record 的 jOOQ 映射器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40982328/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com