2015-05-29 33 views
4

我一直在將我們的Web應用程序部署到Weblogic服務器。但是,儘管我能夠在新版本中成功部署應用程序,但應用程序無法啓動,用戶無法登錄。該日誌:如何啓用Weblogic 12.1.2 JPA 2.1

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) 

我認爲出現這種情況,因爲WebLogic默認啓用JPA 2.0(但我不知道它)。有沒有辦法啓用JPA 2.1?

PS:我們是使用Hibernate 4.3.8和我不是在應用服務器領域的專家。

問候。

回答

5

如果你可以升級到12.1.3,然後JPA 2.1支持包括但默認情況下禁用,你可以按照their instructions for enabling it。它相當於把正確的罐子放在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