如此处所问,对此#58538732的后续问题
根据Lukas Eder的建议,我写了EnumConverter
将Integer
转换为DayOfWeek
public class DOWConverter extends EnumConverter<Integer, DayOfWeek> {
public DOWConverter()
{
super(Integer.class, DayOfWeek.class);
}
}
[select
现在看起来如下
DataType<DayOfWeek> typeDOW = SQLDataType.INTEGER.asConvertedDataType(new DOWConverter() /*ERROR*/);
Field<DayOfWeek> fieldDOW = DSL.field("{0}", typeDOW, lecture.DAY_OF_WEEK);
create.select( ..., fieldDOW, ...)...
带有错误消息:
线程“主”中的异常java.lang.Error:未解决的编译问题:不能访问类型为QueryFeaturesTask的封闭实例。必须使用类型为QueryFeaturesTask的封闭实例来限定分配(例如x.new A(),其中x是QueryFeaturesTask的实例)。
如上所述,当前无法在CodeGen时使用Converter。
似乎您将DOWConverter
放置在另一个类中,从而创建了inner class。我建议您将转换器放在其自己的文件的顶层,使其成为顶层类。如果必须创建一个嵌套类,请通过将其设为静态来确保它不是内部类: