Boa tarde
Pessoal, nos estamos desenvolvendo um software utilizando JPA 2 (Hibernate 4 como provider) e Spring 3, até o momento esse sistema iria rodar em um conteiner que segue a especificação JEE 6, onde JPA 2 esta incluída, agora há a necessidade desse mesmo software rodar também em um conteiner JEE 5, que no caso será o JBoss 5.1.
Realizei vários testes com todos os frameworks que utilizamos no software, assim seria possível verificar sua compatibilidade com o conteiner mais antigo, VRaptor 3.4, Hibernate 4 e Spring 3, consegui fazer funcionar, bastando apenas trocar alguns JAR’S que no JBoss estavam causando erros de incompatibilidade que são eles SL4J, LOG4J e o XML-APIS.
Para conseguir fazer funcionar a JPA 2 segui alguns tutorias de pessoas que estavam com o mesmo problema, segue os links:
http://java.dzone.com/articles/ejb3-jpa-error-when-migrating
https://community.jboss.org/thread/159628?_sscc=t
Ao realizar o deploy do .war no JBoss 5.1 é gerado a seguinte exception:
WARN [FileZippedJarVisitor] HHH015010: Unable to find file (ignored): vfszip:/C:/Java/jboss/server/default/deploy/AppJpaSpring.war/WEB-INF/classes/
java.io.FileNotFoundException: C:\Java\jboss\server\default\deploy\AppJpaSpring.war\WEB-INF\classes (O sistema nÒo pode encontrar o caminho especificado)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:127)
at java.util.jar.JarFile.<init>(JarFile.java:135)
at java.util.jar.JarFile.<init>(JarFile.java:72)
at org.hibernate.ejb.packaging.FileZippedJarVisitor.doProcessElements(FileZippedJarVisitor.java:69)
at org.hibernate.ejb.packaging.AbstractJarVisitor.getMatchingEntries(AbstractJarVisitor.java:148)
at org.hibernate.ejb.packaging.NativeScanner.getClassesInJar(NativeScanner.java:126)
at org.hibernate.ejb.Ejb3Configuration.addScannedEntries(Ejb3Configuration.java:484)
at org.hibernate.ejb.Ejb3Configuration.scanForClasses(Ejb3Configuration.java:851)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:596)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:72)
Mas mesmo com essa exception sendo gerada, a aplicação é iniciada normalmente, mas o EntityManagerFactory não é criado, assim ao solicitar um recurso que realiza uma chamada no banco de dados, outra exception é gerada:
Caused by: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: Operadora is not mapped [ FROM Operadora]
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1348)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1289)
at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240)
at $Proxy907.createQuery(Unknown Source)
at br.com.crud.dao.OperadoraDAO.todos(OperadoraDAO.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
Gostaria de saber se alguém sabe oque pode estar causando tais erros, e se no caso do JBoss 5.1 com JPA 2 são necessárias outras configurações ?
Obrigado.