grails 3.2 中域对象上是否有默认的 max to gorm 列表方法
Is there a default max to gorm list method on domain object in grails 3.2
我这辈子都无法理解为什么在继承自 RestfulController 的控制器中,索引方法只有 returns 4 行。这是默认设置吗?当我重写该方法时会发生相同的行为,就像这样。
import grails.rest.*
import grails.converters.*
class WidgitController extends RestfulController {
static responseFormats = ['json', 'xml']
WidgitController() {
super(Widgit)
}
@Override
def index() {
def w = Widgit.findAllWhere(isEnabled: true, [max: 10]) //w: sizec4
def w2 = listAllResources(params) //w2: size 4
respond w
}
}
如有任何帮助,我们将不胜感激。
事实证明,当您查找分页时,问题会得到更好的关注。
根据您的域对象的规范方式,gorm 将为我们提供不同的 resultTransformer。在我的例子中,我有一个一对多的关系,被指定为
orders(lazy:false, fetch:"join")
fetch as join 告诉 gorm 进行大型查询,然后在应用最大偏移量后减少数据集。
如需更多阅读,请查看以下内容:
agination-with-hibernate-criteria-and-distinct-root-entity
sorting-and-pagination-with-hibernate-criteria-how-it-can-go-wrong-with-joins
我这辈子都无法理解为什么在继承自 RestfulController 的控制器中,索引方法只有 returns 4 行。这是默认设置吗?当我重写该方法时会发生相同的行为,就像这样。
import grails.rest.*
import grails.converters.*
class WidgitController extends RestfulController {
static responseFormats = ['json', 'xml']
WidgitController() {
super(Widgit)
}
@Override
def index() {
def w = Widgit.findAllWhere(isEnabled: true, [max: 10]) //w: sizec4
def w2 = listAllResources(params) //w2: size 4
respond w
}
}
如有任何帮助,我们将不胜感激。
事实证明,当您查找分页时,问题会得到更好的关注。
根据您的域对象的规范方式,gorm 将为我们提供不同的 resultTransformer。在我的例子中,我有一个一对多的关系,被指定为
orders(lazy:false, fetch:"join")
fetch as join 告诉 gorm 进行大型查询,然后在应用最大偏移量后减少数据集。
如需更多阅读,请查看以下内容:
agination-with-hibernate-criteria-and-distinct-root-entity
sorting-and-pagination-with-hibernate-criteria-how-it-can-go-wrong-with-joins