私は私のモデルに(検索可能)ローカリゼーションを使用したい、と私は次のモデルを思い付いた:含まれているカテゴリを照会するHQLは、上の選択埋め込みマップ
@Entity
public class Category {
...
@ElementCollection
//key = language code (e.g. 'en') and value = localized label
private Map<String, String> name;
...
}
私はノーをやりたいことはあります特にローカライズでCASEINSENSITIVE針(例えばと「%ABC%」自分の英語名で)
私は
from Category where name.key = :locale and lower(name.value) like :text
のようなものを試してみましたが、それはできないDで失敗しますスカラーコレクション要素例外を参照してください。
ここで、hibernate docuは、値とキーにelements()とindices()を使用する必要があると言います。キーの場合、:locale in indices(name)
を使用すると簡単ですが、このロケールの値の一部を大文字小文字を区別しない方法でどのように一致させることができますか?
これは私のモデルでhqlで実行できない場合には、検索可能なローカリゼーションをモデル化するにはどうすればいいですか?
後@Embeddableソリューションを使用していますがありますなぜ私はdownvotedされた理由? – Flo