Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Groovy & Grails > Сортировка по умолчанию


Автор: Lifelover 29.4.2012, 20:58
Здравствуйте.
У меня небольшой вопрос относительно сортировки по умолчанию. У меня есть класс с дефолтной сортировкой по  дате создания:
Код

package firsttest

class Piston {

    String name
    Date dateCreated

    static constraints = {

    }
    static belongsTo = [ engine : Engine ]

    static mapping = {
        sort dateCreated: "desc"
    }
}

Если я правильно понял, то если я захочу получить коллекцию объектов класса Piston например так:
Код

def pistons = engine.pistons

то объекты будут не упорядоченны по дате создания, а если так:
Код

def pistons = Piston.list()

тогда будут упорядоченны. Или я что-то не до понял? Дело в том что на практике так и выходит, как я описал выше, только я думал что коллекция должна быть отсортирована в любом случае по дате создания. А из документации не могу однозначно понять.

Автор: Vasay 30.4.2012, 04:28
Lifelover

Надо в классе Engine явно указать как сортировать при запросе "engine.pistons"

Код

class Engine {
    .......

    static  hasMany = [pistons: Piston]

    static mapping = {
        pistons sort: 'dateCreated', order: 'desc'
    }
}

Автор: Lifelover 30.4.2012, 06:46
Vasay, Спасибо! Мне правда казалось, что это равнозно

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)