Erro com chave estrangeira duplicada grails
06/10/2011 00:25
0
Alguém já tratou esse tipo de erro no grails ???
Tags: chave estrangeira


0
Oi Maurício: tem como ser um pouco mais específico? O que exatamente está acontecendo?


0
Kico Eu gostaria de saber se em grails tem alguma tecnica para tratar esses erros de chave duplicada, se eu posso fazer direto no grails ou pode se feito direto no banco?

Se caso vc já passou por essa experiência mim uma ajuda por favor ?

Valeu cara!!!
06/10/2011 10:45


2
Oi Maurício,

por chave duplicada, você quer dizer a inserção de dois registros com mesma chave primária no banco? Se for, você pode simplesmente incluir a constraint unique. Em seguida você pode usar a API de validação do próprio Grails pra poder tratar estas situações dentro do seu controlador

É isto?


1
Maurício,

Coloque para nós um exemplo da sua modelagem (domínios) e o código que está fazendo com que o erro aconteça.
Sem isso fica um pouco difícil lhe auxiliar.

A principio, a chave primária e unica das tabelas criadas pelo GORM é o campo id, que normalmente não manipulamos diretamente. A não ser que você tenha informado campos específicos com a constraint unique.

Se você postar os detalhes que citei acima, poderemos ter uma visão mais exata do que está acontecendo.
06/10/2011 11:09


0
Pessoal é seguinte eu tenho duas tabelas no banco ex:
Caminhão / Motorista com relacionamento de "um para um".
Ai o erro se dar quando eu tento duplicar esse racionamento do tipo ex:
* Caminhão id=01 já tem um motorista id=10 ;
Ai quando eu cadastro um novo caminhão id=02 e coloco para ele o motorista id=10 ele dar o
erro mim informando q eu dupliquei a forekey, ok
Ai eu quero q quando isso acontecer mostre uma msg para o usuário informando a ele q este motorista já possui um caminhão agregado, blz !!

Galera ver se entendeu e mim dar uma força ai !!!

Valeu!!!
06/10/2011 11:54


1
É, neste caso você vai ter de trabalhar na lógica de programação do seu controller mesmo, tratando a excessão dentro de um try catch e renderizando a mensagem de erro para o seu usuário


0
Ok, Kico eu nunca fiz isso vou tentar valeu pela luz!!!

Obrigado cara!!!
06/10/2011 13:49


0
Definindo a constraint unique (como Kico citou) pra um caminhão só ter um motorista ou vice-versa, o próprio grails já daria a mensagem de erro na validação do domain, não?!?
Depois é só utilizar a tag <g:renderErrors> (http://grails.org/doc/latest/ref/Tags/renderErrors.html) para exibir na interface.
08/10/2011 12:20



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