实体中的 Micronaut 数据和枚举字段
Micronaut data and Enum fields in Entities
micronaut-data 是否支持枚举字段?
我尝试创建枚举字段时出错。使用 Micronaut TypeConverter
框架添加了类型转换器,但仍然出现与
相同的错误
java.lang.NoSuchMethodError: 'void company.SyncRun.setStatus(java.lang.String)'
其中 SyncRun.status 是具有如下转换器的枚举字段。
@Factory
class TypeConverters {
@Singleton
fun syncStatusToString(): TypeConverter<SyncStatus, String> {
return TypeConverter { value, targetType, context -> Optional.of(value.name) }
}
@Singleton
fun stringToSyncStatus(): TypeConverter<String, SyncStatus> {
return TypeConverter { value, targetType, context -> Optional.of(SyncStatus.valueOf(value)) }
}
}
使用 JPA,您只需将枚举 属性 注释为 @Enumerated(EnumType.STRING)
。
JDBC 开箱即用。
micronaut-data 是否支持枚举字段?
我尝试创建枚举字段时出错。使用 Micronaut TypeConverter
框架添加了类型转换器,但仍然出现与
java.lang.NoSuchMethodError: 'void company.SyncRun.setStatus(java.lang.String)'
其中 SyncRun.status 是具有如下转换器的枚举字段。
@Factory
class TypeConverters {
@Singleton
fun syncStatusToString(): TypeConverter<SyncStatus, String> {
return TypeConverter { value, targetType, context -> Optional.of(value.name) }
}
@Singleton
fun stringToSyncStatus(): TypeConverter<String, SyncStatus> {
return TypeConverter { value, targetType, context -> Optional.of(SyncStatus.valueOf(value)) }
}
}
使用 JPA,您只需将枚举 属性 注释为 @Enumerated(EnumType.STRING)
。
JDBC 开箱即用。