Я пытаюсь сделать заказ на перечисление, но я получаю некоторые ошибки в том, что ...Как заказать по перечислению на grails?
это код, я использую:
and {
invoiceTicketDetail {
order('date', 'asc')
order('code', 'asc')
}
}
lineType {
order('sortOrder', 'asc')
}
типов линий является Enum и есть атрибут ИНТ с именем SortOrder, чтобы заказать LineType правильно .. проблема заключается в том, что я получаю следующее сообщение об ошибке при попытке выполнить это
No signature of method: InvoiceService.lineType() is applicable for argument types: (InvoiceService$_tt__getInvoiceDetailList_closure36_closure57) values: [[email protected]c8544]
Possible solutions: asType(java.lang.Class), asType(java.lang.Class). Stacktrace follows:
groovy.lang.MissingMethodException: No signature of method: InvoiceService.lineType() is applicable for argument types: (InvoiceService$_tt__getInvoiceDetailList_closure36_closure57) values: [[email protected]c8544]
Possible solutions: asType(java.lang.Class), asType(java.lang.Class)
at InvoiceService$_$tt__getInvoiceDetailList_closure36$$EPQTbhPk.doCall(InvoiceService.groovy:477)
InvoiceService это услуга, я использую, но это не так основной объект. Если я просто удалю строки lineType, он отлично работает, но мне нужно добавить этот тип линии в этом порядке.
Есть ли другой способ сортировки по сложному объекту нескольких столбцов?
Эммануэль Роза, я не мог понять первый подход ... Я пробовал третий, но не работал ... Второй для меня невозможен ... модель окажется не в порядке потому что sortOrder не является частью решения этой проблемы ... Кажется, что первый из них - лучший способ сделать это ... но я не мог понять, что я должен использовать, когда вы добавляете «the_added_column as sortOrder». – Igor
Сначала вам нужно создать тип пользователя Hibernate для соответствия перечислению lineType. Затем в Grails вы можете сопоставить столбцы таблицы с типом линии: тот, который у вас уже есть для порядкового номера, и новый для порядка сортировки. Затем вы можете использовать новый столбец в sqlprojection (например, the_added_column). В основном sqlprojection динамически создает свойство из добавленного столбца, чтобы вы могли сортировать его. https://grails.github.io/grails-doc/latest/guide/GORM.html#customHibernateTypes –