如何启用Weblogic 12.1.2 JPA 2.1

iso*_*01_ 4 java hibernate weblogic jpa application-server

我一直在将Web应用程序部署到Weblogic服务器.但是,虽然我能够在此新版本中成功部署应用程序,但应用程序无法启动,用户无法登录.日志是:

May 29, 2015 4:38:47 PM org.springframework.web.context.ContextLoader initWebApplicationContext
SEVERE: Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1566)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
Run Code Online (Sandbox Code Playgroud)

我相信这是因为Weblogic默认启用JPA 2.0(但我不确定).有没有办法启用JPA 2.1?

PS:我们正在使用hibernate 4.3.8,而且我不是应用服务器方面的专家.

问候.

Mum*_*rah 6

如果您可以升级到12.1.3,则包含JPA 2.1支持但默认情况下已禁用,您可以按照其说明启用它.这相当于将正确的jar放在classpath上,你可以将它添加到common/bin/commEnv.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
Run Code Online (Sandbox Code Playgroud)