Not-null property references a null or transient value

4 respostas
S

Olha eu denovo encomodando :S
Galera… eu fiz um cadastro de cliente, e ele esta com um problema que nao consigo encontrar.
Ao tentar incluir um Cliente, ele gera o seguinte 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: javax.servlet.ServletException: #{clienteHandler.salva}: org.hibernate.PropertyValueException: not-null property references a null or transient value: br.com.saudetotal.modelo.Cliente.bairro
br.com.saudetotal.util.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:22)

root cause

javax.servlet.ServletException: #{clienteHandler.salva}: org.hibernate.PropertyValueException: not-null property references a null or transient value: br.com.saudetotal.modelo.Cliente.bairro

javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)

org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)

org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)

br.com.saudetotal.util.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:19)

root cause

javax.faces.FacesException: #{clienteHandler.salva}: org.hibernate.PropertyValueException: not-null property references a null or transient value: br.com.saudetotal.modelo.Cliente.bairro

com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:107)

javax.faces.component.UICommand.broadcast(UICommand.java:383)

org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:186)

org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:164)

org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:352)

com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)

com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)

com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)

javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)

org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)

org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)

br.com.saudetotal.util.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:19)

Só que se eu dou um voltar no navegador e um refresh, e incluo, ele persiste corretamente.
Uma coisa que eu pude notar tbm é que ele da esse erro tanto com os campos preenchidos como com eles vazio.

4 Respostas

F

Estou com o mesmo tipo de erro.

org.hibernate.PropertyValueException: not-null property references a null or transient value

Acho que vou ter que fazer um rotina para salvar um objeto por vez.
Se alguen tiver a solução, manda a luz;
Obrigadio

fabiofalci

Dica, crie um tópico específico para a dúvida.

Agora, sobre o problema, 2 opções, ou salve explicitamente as referências do objeto antes de salvá-lo ou defina um Cascade para isso.

Marcio_Nogueira

Estou tendo o mesmo problema e empacado.
Estou utilizando o Struts 2.

maior_abandonado

esse erro acontece quando a entidade que você está persistindo/atualizando (ou alguma persistida/atualizada por cascata) referencia alguma outra entidade que o fk esteja not null no banco, porém ela encontra-se nula.

se ocorre de funcionar quando você da um atualizar, de alguma forma o objeto em questão pode não estar mais nulo caso você re-execute (ocorreria por exemplo se você o preencher depois do persist… só um exemplo, mantendo ele na sessão por exemplo no seu managed bean ou onde for… ).

Criado 10 de julho de 2008
Ultima resposta 19 de set. de 2011
Respostas 4
Participantes 5