
0

0
17/03/2008 00:00
[quote="acoplack"]Oi pessoal, to com um probleminha com o grails usando o tomcat. Quando vou criar um simples usuario ou qualquer outra cosia, na hora dele ir armazenar no banco é lançado varias excessões...
Mensage:Could not insert: [User]; nested exception is org.hibernate.exception.ConstraintViolationException: could not insert: [User]
Creio que isso se dá porque o grails usa o jetty como servidor local... está ai minha duvida como faço as mudanças para o tomcat??
me desculpem a leiguice!![/quote]
Esse erro em geral acontece porque você está tentando salvar um User com uma chave primária que já existe no banco de dados.
Ex.: Existe um user com ID=1 no banco, e você está tentando salvar um outro com este nome.
Ou então, porque este User tem relacionamento com uma outra entidade e você está tentando salvar sem setar a relação entre as classes ou com um id que não existe.
Ex.: Este user tem relacionamento com a classe Endereço e você está tentando salvar este user sem o Endereço, ou antes do endereço. Sendo que não há cascading configurado.
Ou até mesmo porque tem um campo not-null e você não setou ele.
Enfim, recomendo colar o trecho de código onde acontece este erro e o stack-trace completo assim fica mais fácil identificar o problema exato e ajudar. <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->
david
Pontos: 0

0

0
17/03/2008 00:00
[quote="acoplack"]Creio que isso se dá porque o grails usa o jetty como servidor local... está ai minha duvida como faço as mudanças para o tomcat??[/quote]
Se você gerar o war pode fazer o deploy nos containers mais usados, inclusive o TomCat.
Mais informações: <!-- m --><a class="postlink" href="http://grails.codehaus.org/Deployment">http://grails.codehaus.org/Deployment</a><!-- m -->
[]'s
Rodrigo Auler
rcauler
Pontos: 29

0

0
17/03/2008 00:00
Provavelmente vc não viu esse erro enquanto desenvolvia porque usava as configurações (incluindo o datasource) para dev. Tente iniciar sua aplicação com:
grails -Dgrails.env=production run-app
E o erro se repetirá para o Jetty também, já que não é culpa do servidor de aplicação.
valeuz...
Marcos Silva Pereira
Pontos: 0