实体中的 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 开箱即用。