Grails / Gorm и Postgresql Unaccent
У меня есть вопрос о том, как использовать unaccent расширение PostgreSQL с Grails.
У меня много описаний на французском, и PostgreSQL не чувствителен к акценту. Я установил расширение unaccent, и оно очень хорошо работает на PgAdmin III.
Как я могу настроить Grails и / или PostgreSQL для использования unaccent в моем контроллере?
Это мой домен:
Class Description {
String content
int type = -1
}
Например, могу ли я "перевести" следующий запрос, используя GORM?
SELECT content
FROM description
WHERE unaccent(content) ILIKE unaccent(%myInputHere%)
Спасибо за прочтение
1 ответ
Решение
Поскольку это специфично для SQL, вам нужно будет использовать ограничение SQL в ваших критериях. Например:
def myinput = params.myinputfieldname
def results = Description.createCriteria().list() {
sqlRestriction "unaccent(content) ILIKE unaccent('%$myinput%')"
}
По крайней мере, это идея.
редактировать
Обратите внимание, что в приведенном выше ограничении "контент" относится к фактическому имени столбца SQL, а не к имени поля домена.