If you are using the java.lang.Currency as part of your entity, most likely you are already regretting it now. Most of the time, a currency is a three letter word, and we don’t need the logic to be bundled in there. Keeping things simple and mapping these currencies as a String or own custom class is the way to go.
For people who did use java.lang.Currency, the pain will arrive when a country changed its currency or added a new one. As example, Belarus changed its currency from BYR to BYN at July 1st, 2016. If you are using java.lang.Currency, you prolly already know by now that Currency.getInstance("BYN") will throw you an exception. Most likely you have also google around, and most likely again, you will stumble upon this or this. It’s basically telling you that there is this new feature in java 7, which lets you overwrite the currency. You will happily overwrite BYR to BYN, and now it starts working. This happyness doesn’t last long as you realize that now that you support BYN, but not BYR anymore. You might also stumble upon some pages which write that we can’t support both currency at the same time.