Salvar dados relacionamento Embedded
09/10/2013 10:35
Olá pessoal,
Estou com dificuldade em algo que aparentemente é muito simples, mas que não consegui fazer funcionar corretamente. É o seguinte:
Tenho uma classe proprietária que possui um relacionamento embedded com uma classe componente, conforme abaixo
class Proprietario
{
Componente componente
static embedded = ['componente']
static constraint= {componente(nullable: true)}
}
class Componente
{
String nome
static constraint= {nome(blank: false)}
}
Quando vou cadastrar um proprietário aparece certinho o campo "nome" do componente para ser preenchido, eu coloco um valor clico em create, o proprietário é salvo corretamente mas o valor do nome inserido para o componente fica em branco no BD.
fui no arquivo _form.gsm do proprietário e modifiquei o valor do name da tag textField referente ao campo do componente conforme abaixo
antes(gerado altomaticamente pelo scaffolding)
<g:textField name="nome" required="" value="${componenteInstance?.nome}"/>
depois
<g:textField name="componente.nome" required="" value="${compoenteInstance?.nome}"/>
com essa modificação o valor inserido no "nome" do componente passou a ser salvo corretamente na tabela do proprietário.
Tentei inserir a classe componente no mesmo arquivo da classe proprietário, ai o negócio ficou pior, nem modificando o _form.gsp conforme descrito acima fez o campo nome ser salvo na tabela do proprietário.
então a questão é a seguinte:
1) Porque o grails ja não gera o relacionamento de forma a salvar os dados digitados para a classe componente no create do proprietário? fiz algo errado?
Tags:
salvar, embedded