public class EachInstanceDataLocalizationStrategy extends DataLocalizationStrategy
各言語毎の値を、別インスタンス(レコード)として保存するDataLocalizationStrategy。
この戦略を指定されたEntityは、言語判別用の文字列型プロパティが定義されている必要がある。
各言語毎の値は、その"言語判別用プロパティ"にそれぞれの言語名が設定された形で別インスタンス(レコード)として作成、検索される。
EQL実行時には、自動的にその"言語判別用プロパティ"が条件に設定される。
"言語判別用プロパティ"の値には、IETF BCP 47(RFC5646,RFC4647)形式での言語表現が格納される。
DataLocalizationStrategyのlanguagesに設定されてない言語の場合は、"言語判別用プロパティ" is nullが条件として設定される。
言語単位で、データの件数が異なる場合などに利用することを想定。
この戦略を利用する場合の注意点として、UniqueIndexが利用しづらくなる点。言語単位に複数のレコードが追加されるため。
また、AutoNumber型プロパティには言語単位で別のIDが付与される。
コンストラクタと説明 |
---|
EachInstanceDataLocalizationStrategy() |
修飾子とタイプ | メソッドと説明 |
---|---|
java.lang.String |
getLanguagePropertyName() |
void |
setLanguagePropertyName(java.lang.String languagePropertyName)
Entityに定義される"言語判別用プロパティ"(文字列型)のプロパティ名を設定。
|
getLanguages, setLanguages