为了账号安全,请及时绑定邮箱和手机立即绑定

在 jOOQ 中注册全局转换器

在 jOOQ 中注册全局转换器

慕仙森 2021-08-04 17:52:18
我有一段代码,如:ctx.select()   .from()   ...   .fetchInto(MyAwesomeClass.class)MyAwesomeClass有一个自定义类型的字段(我们称之为MyLong),可以转换为/从Long。目前,jOOQ 无法在Long和之间转换MyLong:org.jooq.exception.DataTypeException: Cannot convert from 1 (class java.lang.Long) to class foo.bar.MyLong我想在jOOQ DSL配置要转换到注册一个转换器Long来MyLong。我有转换器,但我正在努力将其纳入 DSL 配置。可以选择为配置提供 ConverterProvider,我这样做了 - 但它似乎不起作用。ConverterProvider 片段是这样的:new DefaultConfiguration()    .set(        new ConverterProvider() {          @Override          public <T, U> Converter<T, U> provide(Class<T> tType, Class<U> uType) {            if (tType == Long.class && uType == MyLong.class) {              return (Converter<T, U>) Converter.of(Long.class, MyLong.class, MyLong::of, MyLong::toLong);            } else {              throw new UnsupportedOperationException();            }          }        });我知道这个 API 被标记为实验性的,但是有没有其他方法可以实现我想要的,而无需在代码生成端声明强制绑定或其他一些构造?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 157 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信