2016-07-25 4 views
2

Я написал доменный классКак применить индекс в порядке убывания в классе домена grails?

class ReportCallByUser { 
Integer userId; 
String userName; 
String reportName; 
Date timeOfReportCall; 

static constraints = { 
} 

static mapping = { 

    timeOfReportCall index: 'time_of_report_call_index' 
} 

Последняя строка создает индекс в базе данных, но и в порядке возрастания. Как я могу создать индекс на 'timeOfReportCall' по убыванию?
Спасибо заранее.

ответ

1

В отношении создания индекса нет такой вещи, как order. Это способность запроса, чтобы указать порядок:

ReportCallByUser.list([ sort:'timeOfReportCall', order:'[desc|asc]' ]) 
+0

По крайней мере postgres позволяет иметь «ASC, DESC, NULLS FIRST и/или NULLS LAST» для индекса. см. https://www.postgresql.org/docs/current/static/sql-createindex.html – cfrick

+0

это вполне может быть, но вы не можете сделать это внутри построителя GORM 'static mapping'. smth like 'timeOfReportCall index: 'time_of_report_call_index', order: 'desc'' – injecteer

0

Я предполагаю, что вы хотите, чтобы результаты в порядке убывания по умолчанию при запросе к базе данных с помощью GORM. Если это так, вы можете указать порядок сортировки в своем сопоставлении как таковой.

static mapping = { 
    sort timeOfReportCall:"desc" 
} 

Надеюсь, что это поможет.

+0

Я хочу применить индекс, чтобы быстро получить результат по убыванию в timeOfReportCall. В коде, сжатом в закрытии 'static mapping', создается индекс в порядке ASCENDING. Поэтому я ищу способ применения индекса с убывающим порядком путем кодирования. – naimul64

Смежные вопросы