Tôi muốn sử dụng (tìm kiếm) nội địa hóa trong các mô hình của tôi, và tôi đã đưa ra các mô hình sau:HQL chọn trên bản đồ được nhúng
@Entity
public class Category {
...
@ElementCollection
//key = language code (e.g. 'en') and value = localized label
private Map<String, String> name;
...
}
Những gì tôi muốn làm không là để truy vấn cho các hạng mục có chứa một kim caseinsensitive trong một địa phương hóa đặc biệt (ví dụ với '% abc%' trong tên tiếng Anh của họ)
tôi đã cố gắng một cái gì đó giống như
from Category where name.key = :locale and lower(name.value) like :text
nhưng điều đó không thành công với một không thể d Yếu tố thu thập vô hướng ereference ngoại lệ.
Bây giờ Docu ngủ đông nói, tôi phải sử dụng các phần tử() và chỉ mục() cho các giá trị và khóa. Đối với khóa này sẽ dễ dàng sử dụng :locale in indices(name)
, nhưng làm thế nào tôi có thể kết hợp một phần của giá trị của miền địa phương này một cách không hợp lý?
Và chỉ trong trường hợp điều này không thể thực hiện được với hql với mô hình của tôi, tôi có thể tạo mô hình hóa nội địa có thể tìm kiếm được bằng cách nào khác?
có lý do tại sao tôi đã được downvoted? – Flo