gpt4 book ai didi

java - DataTypeException 与 Jooq newRecord 和枚举

转载 作者:太空宇宙 更新时间:2023-11-04 12:33:46 26 4
gpt4 key购买 nike

我有一个名为 Group 的简单对象,其中包含一个 GroupType 枚举。

public enum GroupType {
PRIMARY,
SECONDARY
}

我构造一个新的并保存它

Group group = new Group();
group.setName(PRIMARY.name());
group.setType(PRIMARY);
Group g = save();

保存开始于

R record = (R) dsl.newRecord(Groups.GROUPS, group);

这行代码抛出异常

  Caused by: org.jooq.exception.DataTypeException: Cannot convert from PRIMARY (class com.domain.entities.support.GroupType) to class com.domain.jooq.generated.enums.GroupType
at org.jooq.tools.Convert$ConvertAll.fail(Convert.java:1113)
at org.jooq.tools.Convert$ConvertAll.from(Convert.java:1002)
at org.jooq.tools.Convert.convert0(Convert.java:316)
at org.jooq.tools.Convert.convert(Convert.java:308)
at org.jooq.tools.Convert.convert(Convert.java:380)
at org.jooq.impl.DefaultDataType.convert(DefaultDataType.java:698)
at org.jooq.impl.Tools.setValue(Tools.java:1975)
at org.jooq.impl.AbstractRecord.from(AbstractRecord.java:829)

枚举如何与newRecord一起使用?

最佳答案

错误消息说:

Cannot convert from PRIMARY (class com.domain.entities.support.GroupType)
to class com.domain.jooq.generated.enums.GroupType

您的 GroupType 枚举似乎使用了两种不同的类型。 jOOQ 只能理解 jOOQ 生成的枚举类型 (com.domain.jooq. generated.enums.GroupType),而不是您自己的枚举类型 (com.domain.entities.support.GroupType)。

如果您确实想使用自己的枚举类型,则需要在 TYPE 列上注册一个 Converter 以在两种类型之间进行转换。

关于java - DataTypeException 与 Jooq newRecord 和枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37560021/

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