Data binding para subclasses
17/12/2015 17:28
0
Boa tarde pessoal,

tenho a seguinte situação (omitindo algumas propriedades e constraints para simplificação):

class Questao {
?String enunciado
?static hasMany = [respostas : Resposta]
}

class Resposta {
?static belongsTo = [questao: Questao]
?static constraints = { ?
??questao nullable: false
?}
static mapping = {
tablePerHierarchy false
}
}

class RespostaMultiplaEscolha estende Resposta {
?String descricao
}


Há alguma forma de fazer com que o Grails faça o binding correto para a subclasse RespostaMultiplaEscolha? Os meus parâmetros seriam estes:

params = ["enunciado" : "enunciado da questão", "respostas[0].descricao" : "descrição da primeira resposta"]

O Grails só está me criando objetos da superclasse, de modo que a subclasse e os seus atributos não estão sendo persistidos.

Obrigado.
Tags: Grails


0
Boa pergunta.... ACHO que vc teria que usar @BindUsing em Questao.respostas e implementar essa lógica você mesmo


0
Amigo,

to a bom tempo sem usar o grails mas, até onde lembro, você pode fazer o bind automaticamente sim.   Mas pelo que eu to vendo ai você esta criando uma classe especialista de Resposta .
RespostaMultiplaEscolha vai herdar de Reposta.
Você pode instanciar um objeto RespostaMultiplaEscolha e fazer o bind nele somente. Ai vc vai ter tudo.
Eu não faria assim, mas depende da sua estrutura ai.
Flw.



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