2 votes

Données de Micronaut et champs Enum dans les Entités

Est-ce que micronaut-data prend en charge les champs enum?

J'ai essayé de créer un champ enum qui a donné une erreur. J'ai ajouté un convertisseur de type en utilisant le framework Micronaut TypeConverter mais j'obtiens toujours la même erreur qui indique

java.lang.NoSuchMethodError: 'void company.SyncRun.setStatus(java.lang.String)' où SyncRun.status est un champ enum qui a un convertisseur comme ci-dessous.

@Factory
class TypeConverters {

  @Singleton
  fun syncStatusToString(): TypeConverter {
    return TypeConverter { value, targetType, context -> Optional.of(value.name) }
  }

  @Singleton
  fun stringToSyncStatus(): TypeConverter {
    return TypeConverter { value, targetType, context -> Optional.of(SyncStatus.valueOf(value)) }
  }
}

2voto

Sascha Frinken Points 56

Avec JPA, vous devriez simplement annoter la propriété enum avec @Enumerated(EnumType.STRING).

Avec JDBC, cela fonctionne directement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X