[RESOLVIDO] Adicionar um campo a uma Domain Class existente
08/11/2010 00:00
0
Olá, bom dia.

Estou iniciando meus estudos e gostaria de pedir sua ajuda. Adicionei um campo à uma Domain Class, gerei novas views e controllers, mas agora não consigo atualizar os objetos existentes, só consigo criar novas instâncias.

Recebo o erro:

Error 500: Executing action [update] of controller [test.UserController] caused exception: not-null property references a null or transient value: test.User.lastUpdated; nested exception is org.hibernate.PropertyValueException: not-null property references a null or transient value: test.User.lastUpdated


Existe um jeito correto de se adicionar o campo ou não é possível?

Grato.
Abraços.
Tags: Grails


0
Boa noite.

Isso aconteceu porque voce criou um campo novo e sua aplicacao esta tratando esse campo como "Nao Nulo". Acontece que no banco de dados esse campo esta com valores nulos entao o Grails nao consegue alterar seus objetos. Temos duas solucoes:

1 - Coloque a constraint "novaColuna(nullable:true)" na sua classe
2 - Va no banco de dados e faca um "update" setando seu campo novo com um valor qualquer.

Espero ter ajudado. Peco desculpas pelo teclado sem acentuacao. <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->
08/11/2010 00:00


0
Poxa, muito obrigado Reuben.

Eu já imaginava que fosse isso. Só pensei que o Grails poderia ter uma maneira mais elegante para fazer esse &quot;update&quot;.
Haha.. não precisa se desculpar não.

Um abraço!
09/11/2010 00:00



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