Como fazer múltiplos campos aninhados "embedded" com a mesmo (sub)campo também aninhado.
08/04/2015 14:25
0
Vamos lá ... sei que todos sempre tentar ser diretos, também tentarei.

Estou criando meu módulo de nota fiscal em parceria com os amigos da API Fincatto, na minha classe de nota fiscal, gostaria de salvar todas as informações de maneira aninhada, para evitar que alterações nas entidades alterem o registro da nota fiscal.

Quando executo a aplicação simplesmente adicionando:


static embedded = ['emitente','destinatario']


Tenho a seguinte resposta:


2015-04-08 14:16:25,418 [localhost-startStop-1] ERROR context.GrailsContextLoaderListener - Error initializing the application: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Invocation of init method failed; nested exception is org.hibernate.MappingException: Repeated column in mapping for entity: br.com.compengi.ceramic.financeiro.nfe.NotaFiscal column: endereco_bairro (should be mapped with insert="false" update="false")
Message: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Invocation of init method failed; nested exception is org.hibernate.MappingException: Repeated column in mapping for entity: br.com.compengi.ceramic.financeiro.nfe.NotaFiscal column: endereco_bairro (should be mapped with insert="false" update="false")
Line | Method
->> 262 | run in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 615 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run in java.lang.Thread
Caused by BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Invocation of init method failed; nested exception is org.hibernate.MappingException: Repeated column in mapping for entity: br.com.compengi.ceramic.financeiro.nfe.NotaFiscal column: endereco_bairro (should be mapped with insert="false" update="false")
->> 262 | run in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 615 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run in java.lang.Thread
Caused by BeanCreationException: Error creating bean with name 'sessionFactory': Invocation of init method failed; nested exception is org.hibernate.MappingException: Repeated column in mapping for entity: br.com.compengi.ceramic.financeiro.nfe.NotaFiscal column: endereco_bairro (should be mapped with insert="false" update="false")
->> 262 | run in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 615 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run in java.lang.Thread
Caused by MappingException: Repeated column in mapping for entity: br.com.compengi.ceramic.financeiro.nfe.NotaFiscal column: endereco_bairro (should be mapped with insert="false" update="false")
->> 262 | run in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 615 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run in java.lang.Thread
Error |
Forked Grails VM exited with error

Process finished with exit code 1


Levando em conta que em emitente e destinatário eu tenho:

Endereco endereco
static embedded = ['endereco']

Percebo que o grails não consegue inserir o prefixo (emitente_ ou destinatario_) nos campos de endereço.

Alguém já lidou com isso, o que fazer?
Tags: Embedded Aninhado Múltiplo Campo Field Grails Gorm Hibernate Mapping


0
Olá.

amigo, quais os nomes das 3 entidades de domínio envolvidas e qual o relacionamento que você quer entre elas (modelo conceitual)?

Assim podemos te ajudar mais :)



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