我有一个(简化的)Hibernate 模型,如下所示:
public class CoverageLine {
private Long id;
private String coverageText;
private boolean coveragePresetTo = true;
private OnNewPolicy onNewPolicy = OnNewPolicy.SHOW;
}
我需要将coverageText(由最终用户)翻译成任意多种语言,但使用相同的ID,这样我就可以用英语或德语请求政策(添加行),并拥有相关版本getCoverageText() 返回的文本。其他字段在数据库中是不可翻译的,它们是使用资源文件翻译的,因此数据库中对象的多个版本是不可取的。
我的初步计划是制作一个 JSON clob 字段,并将所有值存储在其中 ([{"lang":"en","value","...."}],[{"lang":"de " ...}]),将语言设置为瞬态字段,并使用 get/set 方法操作 JSON,但这并不真正具有最佳实践的感觉。或者,拥有第二个带有 line-id、语言和字符串的表,但这有可能使我的数据模型大大膨胀,而不仅仅是拥有更多的 SQL-y 数据。
有什么建议么?