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"
}