Musel jsem to udělat jednou... vícejazyčný text pro některé tabulky... Nevím, jestli jsem našel nejlepší řešení, ale udělal jsem tabulku s jazykově agnostickými informacemi a potom podřízenou tabulku se všemi vícejazyčné obory. V podřízené tabulce byl vyžadován alespoň jeden záznam pro výchozí jazyk; další jazyky mohou být přidány později.
Na Hibernate můžete namapovat informace z podřízených tabulek jako mapu a získat informace pro jazyk, který chcete, a implementovat záložní verzi na vašem POJO, jak jste řekli. Pro vícejazyčná pole můžete mít různé getry, které interně volají nouzovou metodu, aby získaly vhodný podřízený objekt pro potřebný jazyk, a pak jen vrátí požadované pole.
Tento přístup používá více tabulek (jedna tabulka navíc pro každou tabulku, která potřebuje vícejazyčné informace), ale výkon je mnohem lepší, stejně jako údržba, myslím...