Pergunta

Hibernate 3,5-final Finalmente está aqui e oferece o tão esperado suporte ao JPA2, entre outros recursos. Estou trabalhando em um projeto (baseado em EJB3) usando o JBoss 5.1.0.ga e o Hibernate 3.3, mas queria aproveitar o JPA2 e tentei atualizar para o Hibernate 3.5.

O que fiz foi bastante simples e padrão - acabei de colocar todos os frascos de 3,5 hibernados no servidor/configuração (padrão, todos, etc.)/lib - dessa maneira, eles têm precedência sobre os artefatos de hibernato enviados com JBoss. Parece, porém, que Jboss envia com bibliotecas que dependem da parte da implementação do JPA1 do Hibernate 3.3, porque comecei a receber alguns erros sobre métodos abstratos não implementados e coisas assim na implantação:

    23:21:26,792 WARN  [Ejb3Configuration] Persistence provider caller does not implement the EJB3 spec correctly. PersistenceUnitInfo.getNewTempClassLoader() is null.
23:21:26,792 ERROR [AbstractKernelController] Error installing to Start: name=persistence.unit:unitName=kernel-ear-3.3.0-SNAPSHOT.ear/config-persistence.jar#ConfigurationPersistenceUnit state=Create
java.lang.AbstractMethodError: org.jboss.jpa.deployment.PersistenceUnitInfoImpl.getValidationMode()Ljavax/persistence/ValidationMode;
    at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:613)
    at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:72)
    at org.jboss.jpa.deployment.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:301)
    at sun.reflect.GeneratedMethodAccessor308.invoke(Unknown Source)

Talvez eu deva usar uma persistência diferente fornecida? Atualmente é:

org.hibernate.ejb.hibernatePersistência

Olhei ao redor da rede e não encontrei nenhum caminho de atualização documentado. Havia até uma pergunta sem resposta aqui no excesso de pilha sobre o assunto.

Alguma ideia, sugestão? Agradeço antecipadamente por sua ajuda.

Foi útil?

Solução

Parece, porém

Sim, sim (veja Este e -mail antigo para ter uma ideia) e não acho que sua abordagem atual seja possível. Meu entendimento é que a integração do JPA 2 foi planejada para JBoss 5.2 Mas parece que eles decidiram pular esse ramo para ir diretamente para o JBoss 6.x.

Outras dicas

Construí uma solução alternativa para esse problema específico. Em vez de reexpliná-lo aqui, prefiro enviar-lhe diretamente o link para a postagem com todos os detalhes.

Você pode encontrar aqui: Como usar o JPA2 no JBoss 5.x? (ou como eliminar o problema de isolamento de carregamento de classe?)

Também adicionei algumas instruções ao link acima que funcionou para mim.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top