In this post, i want to share about storing Enum into Database (Reddis, NoSQL,...) as String then load it again as Enum type. In Ecomerce Application, we use NoSQL repository to do CRUD with DB. Behind the sense, it use some json library(ex: Jackson) to parse your object to JSON and store to DB. With java objects, it work well but for enum type, we may lose old data after we change eum property. Example we have enum: and it is used in Person class: If we persist person object to ivy repo, the JSON after serialization will look like this: This JSON just type String so when we load this from persistence, it will be deserialized and we can get back the correct type enum for property status. Just assume that after several months, customer want to change this enum, he want to rename the property MARRIED to GET_MARRIED, So for all data was persisted after that time it’s fine, but not the old one. we lost all data about status because system does not know that MARRIED now become GET...