java - 如何启用 Weblogic 12.1.2 JPA 2.1

标签 java hibernate jpa weblogic 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)

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

PS:我们使用的是hibernate 4.3.8,我不是应用服务器方面的专家。

问候。

最佳答案

如果您可以升级到 12.1.3,则包含 JPA 2.1 支持但默认情况下禁用,您可以关注 their instructions for enabling it .这相当于将正确的 jar 放在类路径中,您可以通过将其添加到 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

关于java - 如何启用 Weblogic 12.1.2 JPA 2.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30532109/

相关文章:

java - 使用 JPA 的 @Transient 在 OData 元数据中不可见

java - Spring3, Security3 : System works on windows but not Linux java. lang.IllegalArgumentException异常

java - 为什么在使用@JoinTable 时会忽略@DiscriminatorColumn?

java - Java Web项目仅在Eclipse中运行

java - 在 HQL 中查询标量集合

java - 如何在 hibernate 中向 OneToMany 映射添加限制

hibernate - 如何使用 Hibernate/NHibernate 内连接派生表?

java - JPA:从数据库获取数据而不是持久性上下文

Java with JACOB - 如何正确设置 Java 库路径

Java EE 单例反射注入(inject)