Grails 如何在GORM中按排序顺序保存数据

Grails 如何在GORM中按排序顺序保存数据,grails,gorm,Grails,Gorm,这是一个新手问题,任何帮助都将不胜感激。我有一个类项,如下所示 class Item { String name // other properties ... static constraints = { name(blank: false, unique: true) // other constraints ... } } 我应该得到[a,b,c]。谢谢大家! Presisting并不重要,但是,重要的是您检索它的方式,您可

这是一个新手问题,任何帮助都将不胜感激。我有一个类
,如下所示

class Item { String name // other properties ... static constraints = { name(blank: false, unique: true) // other constraints ... } }
我应该得到
[a,b,c]
。谢谢大家!

Presisting并不重要,但是,重要的是您检索它的方式,您可以简单地执行以下操作

println Item.list().sort() 

println Item.list().sort(){ //write your groovy clouser here to sort asc and dec }

将其添加到域类中

static mapping = {
    sort name: "desc" //"asc"
}

非常感谢。但是,我想知道是否有任何方法可以在第一时间将数据按排序顺序持久化?原因是,如果它是一个包含许多行的大表,并且如果我非常频繁地检索数据,我认为sort()会比较慢(因为每次检索数据时,它都会进行排序)。背景是,该项是一个项的词汇表,我将不太频繁地向表中添加新项,但将非常频繁地检索数据。如有任何意见,将不胜感激。若要按特定顺序保留项目,您可以将收藏映射为列表。有关详细信息,请参阅。谢谢,@rcgeorge23。我可以使用SortedSet进行定制订购。我找到了您引用的文档的最新版本()。谢谢你提供的非常有用的提示!这个很好用,谢谢!不过有一条注释,我必须使用Item.list(),而不是Item.getAll()。即使包含映射,getAll()方法似乎也不会打印排序列表。我喜欢这种映射方法,因为我不必每次检索数据时都使用sort()。sort name:“desc”不保证插入顺序。这是一种自定义查询结果排序依据的默认属性的方法()@cantoni:有没有办法保证插入顺序?我想我明白你的意思了——谢谢你的澄清。
static mapping = {
    sort name: "desc" //"asc"
}