O gorm apresenta o seguinte problema: Quando temos uma classe que possui uma coleção de outra classe, e que esta coleção está mapeada como fetch:join, o método list não irá funcionar corretamente quando recebe o parâmetro max.
O erro que pode ocorrer é o retorno de menos elementos do que está especificado no parâmetro max. Exemplo: Seu banco tem 50 objetos, mas o list(max:10) só retorna 5 objetos.
Para resolver isso substitua o static mapping fetch:'join' por static mapping lazy:false
Exemplo do caso em que ocorreu:
class Papel {
static hasMany = [people: Usuario]
static mapping = {
people (fetch: 'join')
}
}
Classe adaptada para não gerar o erro:
class Papel {
static hasMany = [people: Usuario]
static mapping = {
people (lazy: false)
}
}
Posted by Fred Policarpo to ZeroGlosa (2012-07-31 14:48)