在Java中,我们可以使用ResultSet
来遍历表的所有行,这使得我们不必获取表的所有行。
在Grails中,我们有一个findAllBy…帮手。但是它们返回一个列表。但如果我的表行有数千个元素呢?列表可能变得异常大。
在Grails中是否有像ResultSet
这样的东西允许我们迭代元素而不必在列表中一次获取它们?
也是同样的事情(即迭代的能力,而不读取它们全部在一个列表中)可能的hasMany元素的特定域类元素?
在Grails中,GORM的默认实现使用Hibernate。当通过hasMany
加载列表或关联元素时,没有有任何类似ResultSet
的行为。
这是Hibernate和GORM的众多限制之一。
但是,由于Grails是基于Groovy/Java的,所以您总是可以选择使用JDBC或Groovy SQL来处理大型集合。