通常我会在我的项目中使用以下框架:Spring MVC + Hibernate以Tomcat作为容器。
我从不关心版本,越晚越好。
这是项目中具体的SDK,框架版本:
JDK 1.7
Spring Framework:
spring-webmvc >> 4.1.6.RELEASE
Hibernate:
hibernate-entitymanager >> 4.3.10.Final
org.hibernate.javax.persistence >> hibernate-jpa-2.1-api >> 1.0.0.Final
Tomcat 7
应用程序在tomcat下运行良好,但是当我将应用程序从Tomcat部署到Java EE Server(仅支持JavaEE 5)时,我遇到了一些问题。
我得到的一个错误是:
java.lang.NoSuchMethodError: javax.persistence.Table.indexes()
似乎indexes
是JPA2.1中的一种新方法(JavaEE 7支持),而Java EE服务器不提供它。
但如图所示,hibernate依赖org.hibernate.javax.persistence >> hibernate-jpa-2.1-api >> 1.0.0.Final
提供了Java EE Server无法使用的方法?
为解决问题,对于给定的JavaEE Server,它说它只支持JavaEE 5,在选择JDK框架时应该考虑什么?
答案 0 :(得分:0)
JPA 2.1适用于JavaEE7和Java 7以上版本。
对于JavaEE与JDK版本的兼容性,我会看看这个previous StackOverflow question。