Why do not you try propagating the localization problem to the slightly higher level and then use CustomResourceBundle. (
http://java.sun.com/docs/books/tutorial ... ncept.html )
I mean that if you need localization then it is probably not limited to the translation of a particular field in a particular entity, it most likely requires locale specific labels etc.
http://java.sun.com/docs/books/tutorial ... klist.html
What I am trying to say is that the localization IMO should be more addressed on presentation layer more than at the level of entities.
Note, it does not preclude us from having all the entities related localization information in the database. We still can have translation information there and have it somehow constrained (FKs?).
What custom ResourceBundle buys us is the ability to leverage Java’s i18n related stuff. For one it will address the problem of mandatory translation: Java-s i18n always fall back to a default if there is no specific translation.
I did not mean to sound like RTFM, but sometimes we forget that Java core offers in the sea of 3rd party libraries and solutions.
PS: and custom ResourceBundle can use HQL to get the data, but it is going to be a very straightforward one with a naming convention in place.