私は(簡略化された)次のようなHibernateモデルを持っています:
public class CoverageLine {
private Long id;
private String coverageText;
private boolean coveragePresetTo = true;
private OnNewPolicy onNewPolicy = OnNewPolicy.SHOW;
}
(エンドユーザーによって) 任意の多くの言語に翻訳可能であるが、同じ ID を使用して、英語またはドイツ語でポリシー (行が追加される) を要求し、関連するバージョンを取得できるように、coverageText が必要です。 getCoverageText() によって返されるテキストの。他のフィールドはデータベースで翻訳できず、リソース ファイルを使用して翻訳されるため、DB 内のオブジェクトの複数のバージョンは望ましくありません。
私の暫定的な計画は、JSON clob フィールドを作成し、その中にすべての値を格納することです ([{"lang":"en","value","...."}],[{"lang":"de " ...}])、言語を一時フィールドとして設定し、get/set メソッドを使用して JSON を操作しますが、これは実際にはベスト プラクティスとは言えません。または、行 ID、言語、および文字列を含む 2 番目のテーブルを作成しますが、それは、より多くの SQL-y データを保持する以外に、データ モデルを大幅に拡張する可能性があります。
助言がありますか?