[RESOLVIDO]entityManager.persist não gera o insert

4 respostas
C

Boa noite pessoal…

estou usando Hibernate 3 e JPA.

quando executo a linha entityManager.persist

ele não insere na base de dados…

quando faço um entityManager.find, ele gera e executa o select

alguem tem alguma dica?

obrigado!

4 Respostas

F

Olá,

Pergunta básica: você está iniciando uma transação antes de iniciar as alterações e está fechando a transação no final?

Ex.:
EntityManager em …

em.getTransaction().begin();

em.persist(seuObjeto); // ou, se for o caso, em.merge(seuObjeto) …

em.getTransaction().commit();

Se isso resolver, não se preocupe, é um erro comum quando se começa a utilizar JPA.

Abraço

C

Olá Flávio, muito obrigado pela ajuda… era a transação mesmo…

agora estou com o seguinte erro

java.lang.NoSuchMethodError: org.hibernate.event.PreInsertEvent.getSource()Lorg/hibernate/engine/SessionImplementor;

alguma dica?

ja atualizei as libs do hibernate

estou usando estas libs

Hibernate Validator 3.1.0.CR1
Hibernate Core 3.3.x

segui a dica do blog

porem ainda estou com o mesmo erro

obrigado!!

F

Olha, não tenho certeza, mas minha intuição de programador me diz que é problema de compatibilidade da sua library do Hibernate Validator com a core do hibernate.
Experimente pegar o hibernate validator mais atual compatível com sua versão do hibernate.

Nós usamos a versão 3.5, na verdade, foi um upgrade recente que fizemos em nossos sistemas.

Se você usar esta versão, use hibernate validator 4.1.

Abraço

obs: no link que você passou está escrito:

“That is, I was using the latest Hibernate Core (3.3.x), but didn’t have the most up to date Hibernate Validator. I downloaded a new hibernate-validator.jar and everything worked again”.

C

era isso mesmo Flavio…

baxei a nova versão e deu certo…

obrigado pela ajuda mais uma vez!!

abraço!

Criado 12 de outubro de 2010
Ultima resposta 12 de out. de 2010
Respostas 4
Participantes 2