Estou tentando fazer uma aplicação que usa JOTM como Gerenciador de Transações e JPA com Hibernate como provedor de persistência.
Estou tendo um problema quando vou abrir uma transação pra fazer qualquer operação... a transação parece estar ativa, ATÉ o momento em que eu uso em.flush(); e ele informa que precisa que uma transação esteja ativada :S
Estou tentando fazer uma aplicação que usa JOTM como Gerenciador de Transações e JPA com Hibernate como provedor de persistência.
Estou tendo um problema quando vou abrir uma transação pra fazer qualquer operação... a transação parece estar ativa, ATÉ o momento em que eu uso em.flush(); e ele informa que precisa que uma transação esteja ativada :S
Cara, eu nunca usei o JOTM, nem sei o por que está usando ali, sendo que não vi nenhum relacionamento nele com o JPA/Hibernate
o erro está acusando que o Transaction está fechado, teria que fazer:
this.em.getTransaction().begin();
diogozero
É um projeto da faculdade…
No caso eu tenho que criar a transação usando JOTM e não usando a transação do JPA.
RenanRosa
diogozero:
É um projeto da faculdade…
No caso eu tenho que criar a transação usando JOTM e não usando a transação do JPA.
Porém, agora ele não persiste! Nem mostra exceção nenhuma… agora sim, to totalmente perdido!
diogozero
Não consegui resolver o problema ainda, mas consegui uma “solução alternativa”.
Creio que o problema estava em atributos @Lob… na minha classe de entidade eu tinha um atributo byte[] marcado como @Lob, tentei desmarcar ela e funcionou, inclusive persistiu o array de bytes direitinho no banco. Coisa que eu não entendi, porque na especificação de JPA diz para marcar como @Lob objetos grandes, tipo imagens, arquivos e textos longos.
Mesmo dando certo, fiquei com essa dúvida: porque dá certo sem a anotação?