我想在我的模型中使用(可搜索的)本地化,我想出了以下模型:
@Entity
public class Category {
...
@ElementCollection
//key = language code (e.g. 'en') and value = localized label
private Map<String, String> name;
...
}
我不想做的是查询在特定本地化中包含不区分大小写的针的类别(例如,英文名称中带有“%abc%”)
我尝试了类似的东西
from Category where name.key = :locale and lower(name.value) like :text
但是由于无法取消引用标量集合元素异常而失败。
现在休眠文档说,我必须使用 elements() 和 indices() 作为值和键。对于密钥,这将很容易使用:locale in indices(name)
,但是我如何以不区分大小写的方式匹配此语言环境的一部分值?
以防万一这不适用于我的模型的 hql,我还能如何建模可搜索的本地化?