/ / Est-ce que Spring Data MongoDB prend en charge les énumérations? - printemps-data, printemps-data-mongodb

Est-ce que Spring Data MongoDB prend en charge les énumérations? - données de printemps, données de printemps

Pour le type enum Java, j'apprends qu'il existe deux solutions pour MongoDB: la sérialisation et en utilisant ObjectMapper de Jackson. Est-ce que MongoRepository peut fonctionner avec un type de données enum avec l'une de ces approches ou je dois écrire un référentiel personnalisé?

Réponses:

7 pour la réponse № 1

Oui, Spring Data MongoDB prend en charge les énumérations. Il suffit de les utiliser dans votre modèle de domaine.


2 pour la réponse № 2

Spring Data Mongodb peut sérialiser enum en string en utilisant le nom de enum comme valeur. Disons qu'il utilise la seconde approche de l'article http://www.vineetmanohar.com/2010/01/3-ways-to-serialize-java-enums/. IMHO cela ne peut pas être pris au sérieux, parce que leLa seule façon correcte de stocker des énumérations dans la base de données est l’approche n ° 3 du même article. Permettez-moi de la citer: "Cette approche implique l’affectation d’une valeur explicite définie par l’utilisateur à chaque constante d’énum et la définition des méthodes toValue () et fromValue (). sur l'énum de faire la sérialisation et la désérialisation. ". Ainsi, Spring Data Mongodb ne prend pas en charge les énumérations.