chcę użyć (przeszukiwania) lokalizację w moich modeli, i wpadłem z następującym wzorem:HQL wybrać na wbudowanych map
@Entity
public class Category {
...
@ElementCollection
//key = language code (e.g. 'en') and value = localized label
private Map<String, String> name;
...
}
Co chcę zrobić NO kwerendy dla kategorii, które zawierają caseinsensitive igły w określonej lokalizacji (na przykład z „% ABC%” w ich angielskiej nazwy)
próbowałem coś podobnego
from Category where name.key = :locale and lower(name.value) like :text
ale nie z nie mogę d Element wyjątku skalarnego kolekcji.
Teraz dokument hibernacji mówi, że muszę używać elementów() i indeksów() dla wartości i kluczy. Dla klucza byłoby to łatwe przy użyciu :locale in indices(name)
, ale jak mogę następnie dopasować część wartości tego locale w sposób niewrażliwy na kazeiny?
I na wszelki wypadek, gdy nie można tego zrobić z hql z moim modelem, jak inaczej mogę modelować wyszukiwaną lokalizację?
Czy istnieje powód, dla którego przyznano mi zniżkę? – Flo