我有一个名为 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
以在两种类型之间进行转换。
我是一名优秀的程序员,十分优秀!