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, а не к имени поля домена.

Другие вопросы по тегам