[Resolvido] Erro org.hibernate.exception.ConstraintViolationException

Olá galera…gostaria que me ajudassem a resolver este erro…já perdi algum tempo e não consigo salvar os dados no banco…obrigado a todos…
Estou utilizando Struts com o hibernate.

Erro
HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: could not insert: [dap.dominio.Conjuge]
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

root cause

org.hibernate.exception.ConstraintViolationException: could not insert: [dap.dominio.Conjuge]
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:40)
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2093)
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2573)
org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:47)
org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:290)
org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:180)
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:108)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)
org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
dap.app.ConjugeFacade.salvarConjuge(ConjugeFacade.java:74)
dap.visao.SalvarConjugeAction.execute(SalvarConjugeAction.java:42)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.

pelo menos gostaria de saber pq este erro é lançado, alguma dica ae, agradecido…

messias.sjs,

Esse erro geralmente ocorre quando vc vai salvar um dado que está faltando colocar alguma chave ou então vc está colocando uma chave incorreta no objeto.
Exemplificando, voce está setando manualmente a key do registro? Existe alguma chave estrangeira na tabela que vc está querendo salvar o registros?

Dê uma olhada nas chaves dessa tabela(tanto primária qndo estrangeira, se tiver), o problema é em algo relacionado com isso.

[]'sss!

hummm…valeu ae leonickel…vou verificar…pode ser problema com a chave estrangeira, pq a primária é auto increment…

com a estrangeira não eh…vou continuar tentando

a primária eh auto increment, então o hibernate tah se encarregando de criar ela pra vc ou vc tah deixando isso nao mão do banco??

pq axo q c vc nao falar pro hibernate criar na hora do save, aí talvez possa dar este problema

uhulll, consegui. Valeu ae leonickel, brigadão pela força…o problema era na tabela do banco mesmo…

[quote=leonickel]a primária eh auto increment, então o hibernate tah se encarregando de criar ela pra vc ou vc tah deixando isso nao mão do banco??

pq axo q c vc nao falar pro hibernate criar na hora do save, aí talvez possa dar este problema[/quote]

Pelo q entendo é o banco q incrementa, coloquei esta anotação, correto?

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="CDConjuge")
    private long id;

Valews ae…

opa,

entao o problema era pq antes seu codigo nao estava com a anotação @GeneratedValue ?

de nada, boa sorte no seguimento do projeto :smiley:

[]’'ss!!!

isso ae mesmo…valeu, obrigado