Java 如何启用Weblogic 12.1.2 JPA 2.1

Java 如何启用Weblogic 12.1.2 JPA 2.1,java,hibernate,jpa,weblogic,application-server,Java,Hibernate,Jpa,Weblogic,Application Server,我一直在将我们的web应用程序部署到Weblogic服务器。但是,尽管我能够在这个新版本中成功部署应用程序,但应用程序无法启动,用户无法登录。日志是: 2015年5月29日下午4:38:47 org.springframework.web.context.ContextLoader initWebApplicationContext 严重:上下文初始化失败 org.springframework.beans.factory.BeanCreationException:创建名为“entityMan

我一直在将我们的web应用程序部署到Weblogic服务器。但是,尽管我能够在这个新版本中成功部署应用程序,但应用程序无法启动,用户无法登录。日志是:

2015年5月29日下午4:38:47 org.springframework.web.context.ContextLoader initWebApplicationContext
严重:上下文初始化失败
org.springframework.beans.factory.BeanCreationException:创建名为“entityManagerFactory”的bean时出错,该名称在类路径资源[applicationContext.xml]中定义:调用init方法失败;嵌套的异常是java.lang.NoSuchMethodError:javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/foreignKey;
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1566)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
我相信这是因为Weblogic默认启用JPA2.0(但我不确定)。有没有办法启用JPA2.1

PS:我们使用的是Hibernate4.3.8,我不是应用服务器方面的专家


注意。

如果您可以升级到12.1.3,则包括JPA 2.1支持,但默认情况下禁用,您可以遵循。这相当于将正确的jar放在类路径上,您可以通过将其添加到common/bin/commonv.sh的顶部来实现

PRE_CLASSPATH=$MW_HOME/oracle_common/modules/javax.persistence_2.1.jar:$MW_HOME/wlserver/modules/com.oracle.weblogic.jpa21support_1.0.0.0_2-1.jar
export PRE_CLASSPATH