Трябваше да направя това веднъж... многоезичен текст за някои таблици... Не знам дали намерих най-доброто решение, но това, което направих, беше да имам таблицата с езиково-агностичната информация и след това дъщерна таблица с всички многоезични полета. Изисква се поне един запис в дъщерната таблица за езика по подразбиране; може да се добавят още езици по-късно.
В Hibernate можете да картографирате информацията от дъщерните таблици като карта и да получите информацията за езика, който искате, като приложите резервния вариант на вашето POJO, както казахте. Можете да имате различни гетери за многоезичните полета, които вътрешно извикват резервния метод, за да получат подходящия дъщерен обект за необходимия език и след това просто връщат задължителното поле.
Този подход използва повече таблица (една допълнителна таблица за всяка таблица, която се нуждае от многоезична информация), но производителността е много по-добра, както и поддръжката според мен...