sorting - DefaultGroovyMethod排序可导致版本更改和数据库更新

标签 sorting grails groovy gorm database-update

我有一个域对象列表,我想按特定属性进行排序。 Groovy提供了许多功能以“简单” /“groovy”方式处理列表。

问题是像

myDomainList.sort{it.position}

导致version中的myDomain-Table更新。
我想要的是没有(任何)休眠调用(数据库更改)的预期排序行为。

我该如何实现?

最佳答案

sort对正在处理的集合进行突变,除非您像这样使用它:

myDomainList.sort( false ) { it.position }

这个variation of sort带有3个参数,第一个是Iterable本身,第二个boolean(用于决定是突变还是创建新的集合,而不是对原始集合进行突变),第三个参数是闭包。

在前一种情况下,当sort修改列表时,则将域类标记为脏,因此在事务关闭时即将进行刷新。

关于sorting - DefaultGroovyMethod排序可导致版本更改和数据库更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33021976/

相关文章:

java - 如何忽略xsi :nil attributes when parsing xml with XmlSlurper

java - 在 TreeMap 中用作键的枚举在添加后未排序

groovy - xml 使用 UTF-8 编码,不带 BOM groovy

arrays - Scala:如何按元组的第二个元素对元组数组进行排序?

Grails 从 Controller 返回值到 gsp

grails - GORM/Grails - 向 joinTable 表达式添加额外的列

grails - 如何在ng2-a-table中使用数据源?

grails - 如何在Grails中创建动态灯具?

javascript - String.prototype.localeCompare 处理大小写不一致?

python - 根据文件名与文件夹Python匹配对文件进行排序