Objeto "neto" nulo criando "filho" vazio
19/09/2016 00:35
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.