jOOQ并在枚举对象中选择一个枚举字段

mat_boy

我正在将jOOQ与Postgresql一起使用,以从表中选择一个枚举值。

List<my.project.jooq.enums.Color> colors =
dsl.selectDistinct(TABLE.T_COLOR.as("color"))
   .from(TABLE).fetch()
   .into(my.project.jooq.enums.Color.class);

无论如何,我得到了例外:

org.jooq.exception.MappingException: No matching constructor found on type class my.project.jooq.enums.Color for record org.jooq.impl.DefaultRecordMapper@7c66447f

我看到fetch()它将返回Result<Record1<my.project.model.jooq.enums.Color>>,所以我想知道是否有一种方法可以像使用任何pojo一样立即将Color枚举提取到列表中。

如何获取枚举值?

卢卡斯·埃德(Lukas Eder)

从jOOQ 3.7开始,尚不支持此功能,但jOOQ 3.8中将支持此功能(请参阅#5154)。

不过,您可以通过以下方式轻松地将字符串列映射到您的Enum类型

List<my.project.jooq.enums.Color> colors = 
dsl.selectDistinct(TABLE.T_COLOR)
   .from(TABLE)
   .fetch()
   .map(rec -> my.project.jooq.enums.Color.valueOf(rec.getValue(TABLE.T_COLOR)));

如果您my.project.jooq.enums.Color是由jOOQ从PostgreSQLenum数据类型生成的,则无需专门映射任何内容,jOOQ会自动为您完成此操作:

List<my.project.jooq.enums.Color> colors = 
dsl.selectDistinct(TABLE.T_COLOR)
   .from(TABLE)
   .fetch(TABLE.T_COLOR);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

delphi从枚举中选择一个随机值

来自分类Dev

如何在枚举对象中选择第i个元素

来自分类Dev

将枚举JavaScript转换为数组,然后在数组中选择一个随机元素

来自分类Dev

插入一个枚举值与jOOQ未知表

来自分类Dev

春天如何从枚举字段中选择

来自分类Dev

多个枚举与一个枚举

来自分类Dev

如何随机选择一个枚举值?

来自分类Dev

使用CoffeeScript从对象数组中选择一个字段

来自分类Dev

LINQ从DTO对象列表中选择一个字段进行数组

来自分类Dev

在javascript数组的每个对象中选择一个字段

来自分类Dev

如何在Java中选择一个对象来更改其字段?

来自分类Dev

Yii CDbCriteria从另一个相关对象的一个相关对象中选择一个字段

来自分类Dev

从对象列表中选择一个对象,从 DropDownList

来自分类Dev

Java的枚举链接到另一个枚举

来自分类Dev

如何从多个中选择一个JSON对象并在python中导航其层次结构

来自分类Dev

从一个字段中选择计数

来自分类Dev

从外键中选择一个字段

来自分类Dev

如何在数组中选择一个对象,该对象的项目等于拥有文档的字段?

来自分类Dev

如何在 TypeScript 中制作一个像枚举(二维枚举)一样工作的对象?

来自分类Dev

在宏内建立一个枚举

来自分类Dev

从ExecuteMethodCall()获取一个枚举

来自分类Dev

一个不是Enum子集的枚举?

来自分类Dev

一个枚举的多个值

来自分类Dev

在C ++中乘以一个枚举

来自分类Dev

另一个枚举与int

来自分类Dev

返回一个枚举值

来自分类Dev

在C ++中乘以一个枚举

来自分类Dev

在C中定义一个枚举

来自分类Dev

通过一个@WebParam枚举?