使用jpa(hibernate)的用户级i18n

mpgws1up  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(327)

我有一个使用j2ee/jsf、jpa(hibernate)和mysql数据库的web应用程序。
这个web应用程序允许用户输入关于各种实体的字符串数据,我们现在有一个允许多种语言的要求。计划是允许用户输入一种基本语言,然后对他们想要支持的每种语言重复这个过程。输入的数据由移动应用程序序列化和下载,移动应用程序应该能够以特定语言请求数据,如果请求的语言不可用,则默认为基础语言。
我正在寻找关于如何实现上半部分的建议,即如何使用hibernate存储多个语言版本,同时尽量减少faff/和性能降低。很乐意使用hibernate的os库和插件来防止重新发明轮子。也很高兴如果有一个简单的解决方案,可以实现使用堆栈我已经。。。

eivgtgni

eivgtgni1#

我认为你可以自己做这件事相对容易,而不必寻找一些框架。只需将需要在一个实体中翻译的数据项与默认值一起存储,并将其引用到另一个实体中,该实体保存特定iso代码的翻译。然后,第一个实体中的命名查询可以为您提供给定键的翻译或默认翻译。
关于性能,它取决于我们所说的数据量。如果这与应用程序的典型消息包相当,您可以在启动时将其加载到内存中并提供给您的应用程序,或者如果这不可行,则可以依赖数据库索引和entitymanager的缓存,在应用程序稍微预热后为您提供相对快速的访问。

相关问题