Objeto "neto" nulo criando "filho" vazio
19/09/2016 00:35
0
Segue o cenário:

class Pai {
? ?Filho filho
? ?...
??static constraints = {
?? ? ?filho nullable: true
?? ? ?...
? ?}?
}

class Filho {
??static hasMany = [netos:Neto]
??
?static constraints = {
?? ? ?netos nullable: true
? ?}?
}

Class Neto {
??String nome
?
?static hasMany = [filhos:Filho]
? ?static belongsTo = Filho
}


Tela de cadastro de Pai:

Netos:
<g:each in="${gaia.Neto.list()}" var="neto">
?<g:checkBox name="filho.neto.nome" /> ${neto.nome}
</g:each>


Quando não é selecionado nenhum neto, na Controller chega o objeto Pai com a instancia de Filho criada, mesmo que nenhum atributo de filho tenha sido preenchido(pois só possui Neto).

Fica a Dúvida de como contornar isso. Checar antes de salvar? Mudar o mapeamento?

Tentei simplificar no exemplo, mas na realidade em Filho tenho várias listas (hasMany) de "Netos". Então se eu simplesmente matar "Filho" e passar os "Netos" diretamente para o objeto "Pai", terei alguns outros inconvenientes, como por exemplo: para verificar a existência de "Filho" consultar se as listas de "Neto" estão vazias ou não.
Tags: Grails


Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto