JPA - Erro ao persistir - NullPointerException [RESOLVIDO]

Pessoal, estou precisando gravar na base um objeto que tem muitas dependencias, e variadas, @OneToMany, @ManyToOne

na hora de gravar estou tendo esse erro: javax.persistence.PersistenceException: error during managed flush at org.hibernate.ejb.AbstractEntityManagerImpl$3.mapManagedFlushFailure(AbstractEntityManagerImpl.java:1242) [hibernate3.jar:3.6.10.Final] at org.hibernate.transaction.synchronization.CallbackCoordinator.beforeCompletion(CallbackCoordinator.java:122) [hibernate3.jar:3.6.10.Final] at org.hibernate.transaction.synchronization.HibernateSynchronizationImpl.beforeCompletion(HibernateSynchronizationImpl.java:51) [hibernate3.jar:3.6.10.Final] at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76) at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:273) at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:93) at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:164) at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1165) ... 60 more Caused by: java.lang.NullPointerException at org.hibernate.type.EntityType.isEqual(EntityType.java:344) [hibernate3.jar:3.6.10.Final] at org.hibernate.type.ComponentType.isEqual(ComponentType.java:176) [hibernate3.jar:3.6.10.Final] at org.hibernate.event.def.DefaultFlushEntityEventListener.checkId(DefaultFlushEntityEventListener.java:84) [hibernate3.jar:3.6.10.Final] at org.hibernate.event.def.DefaultFlushEntityEventListener.getValues(DefaultFlushEntityEventListener.java:190) [hibernate3.jar:3.6.10.Final] at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:147) [hibernate3.jar:3.6.10.Final] at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219) [hibernate3.jar:3.6.10.Final] at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99) [hibernate3.jar:3.6.10.Final] at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50) [hibernate3.jar:3.6.10.Final] at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216) [hibernate3.jar:3.6.10.Final] at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:383) [hibernate3.jar:3.6.10.Final] at org.hibernate.transaction.synchronization.CallbackCoordinator.beforeCompletion(CallbackCoordinator.java:117) [hibernate3.jar:3.6.10.Final] ... 66 more

A NullPointerException é lançada dentro do método do Hibernate, alguém ja se deparou com esse problema e/ou sabe como resolver?

No DAO eu dou um persist na entidade pelo EntityManager, como faço em todas as outras partes do sistema, ja tentei buscar as dependências antes de gravar, usando getReference() e find(), porém o erro continuou o mesmo.

Alguém tem alguma idéia?

Veja se isso te ajuda: http://stackoverflow.com/questions/10277715/hibernate-throws-nullpointerexception

Essa vou ter que esperar chegar em casa pra conseguir ver hehe, sem acesso na empresa, mas obrigado jakefrog. Quando eu conseguir ler dou uma resposta. :wink:

Essa vou ter que esperar chegar em casa pra conseguir ver hehe, sem acesso na empresa, mas obrigado jakefrog. Quando eu conseguir ler dou uma resposta. :wink: [/quote]Vou te adiantar então, lá ta escrito assim:

[quote]I think what you need is @EmbeddedId rather than @Id See 2.2.3.2.1 @EmbeddedId property http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/[/quote]Não sei se aplica ao seu caso, mas vale tentar. [=

Caso alguma classe sua esteja utilizando chave composta! >_<’’

Quando li chave composta fiquei até com medo, hehehe…

Pois é, olhei os atributos e um deles tinha uma chave composta que não tinha todos os valores necessários, setei corretamente e consegui gravar minha entidade. :oops:

Valeu, jakefrog!

Eu poderia até reclamar que o Hibernate poderia lançar uma exceção mais descritiva, mas fui eu que pisei na bola mesmo! hehehe

vc esta tentando inserir um id que já existe no banco

[quote=alcirBarros]vc esta tentando inserir um id que já existe no banco
[/quote]Onde q c viu isso? :shock:

[quote=jakefrog][quote=alcirBarros]vc esta tentando inserir um id que já existe no banco
[/quote]Onde q c viu isso? :shock: [/quote]+1 :shock: