Habilitando o JPA 2 no WebLogic Server

Por padrão o WebLogic Server não vem com o JPA 2 habilitado. Então ao utilizar recursos específicos do JPA 2 dentro do WebLogic Server você pode ter erros semelhantes a esse: java.lang.NoSuchMethodError: javax.persistence.EntityManager.getCriteriaBuilder()Ljavax/persistence/criteria/CriteriaBuilder;

Para resolver esse problema é necessário colocar as libs do JPA 2 no início do classpath do WebLogic. As libs estão disponíveis no caminho $WL_HOME/modules e são as seguintes: javax.persistence_1.0.0.0_2-0-0.jar e com.oracle.jpa2support_1.0.0.0_2-0.jar.

Edite o arquivo setDomainEnv.[sh|cmd] e insira a variável PRE_CLASSPATH da seguinte maneira:

export PRE_CLASSPATH=$MW_HOME/modules/javax.persistence_1.0.0.0_2-0-0.jar:$MW_HOME/modules/com.oracle.jpa2support_1.0.0.0_2-0.jar

No windows, substitua o comando export por set e os dois pontos para ponto e vírgula. Altere o $MW_HOME para o home do middleware. Agora é só realizar deploy do seu aplicativo com JPA 2.

Sobre: Thiago Galbiatti Vespa

Thiago Galbiatti Vespa é mestre em Ciências da Computação e Matemática Computacional pela USP e bacharel em Ciências da Computação pela UNESP. Coordenador de projetos do JavaNoroeste, membro do JCP (Java Community Process), consultor Oracle, arquiteto de software de empresas de médio e grande porte, palestrante de vários eventos e colaborador de projetos open source. Possui as certificações: Oracle Certified Master, Java EE 5 Enterprise Architect – Step 1, 2 and 3; Oracle WebCenter Portal 11g Certified Implementation Specialist; Oracle Service Oriented Architecture Infrastructure Implementation Certified Expert; Oracle Certified Professional, Java EE 5 Web Services Developer; Oracle Certified Expert, NetBeans Integrated Development Environment 6.1 Programmer; Oracle Certified Professional, Java Programmer; Oracle Certified Associate, Java SE 5/SE 6