2015-03-10 4 views

risposta

6

Sì, Spring Data MongoDB supporta enum. Basta usarli nel tuo modello di dominio.

+1

Grazie Oliver. Dopo aver postato la mia domanda, ho scritto un test unitario ieri sera e tutti i test sono stati superati. Dovrei fare più lavoro prima di postare qualsiasi cosa. Ora, ho bisogno di capire come creare un dato enum Java con il codice Javascript. Questa è un'altra storia. – vic

+0

Suppone che i valori enum siano stringhe e che il campo mongodb sia una stringa e corrisponda a maiuscole e minuscole? – Adam

2

Spring Data Mongodb può serializzare enum in stringa usando il nome di enum come valore. Diciamo che utilizza il secondo approccio dall'articolo http://www.vineetmanohar.com/2010/01/3-ways-to-serialize-java-enums/. IMHO questo non può essere preso sul serio, perché l'unico modo corretto di memorizzare enum nel database è l'approccio n. 3 dello stesso articolo, lasciatemelo citare: "Questo approccio comporta l'assegnazione di un valore definito dall'utente esplicito ad ogni costante enum e definendo i metodi toValue() e fromValue() sull'enumerazione per eseguire la serializzazione e la deserializzazione. ". Quindi, Spring Data Mongodb non supporta l'enumerazione.