2015-06-20 66 views
1

通常我會在我的項目中使用下面的框架:Spring MVC + Hibernate,Tomcat作爲容器。如何選擇合適的JDK JavaEE Spring版本

而我從不關心版本,越晚越好。

這是具體的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服務器(支持JavaEE 5)。

一個我得到了錯誤的是一樣的東西:

java.lang.NoSuchMethodError: javax.persistence.Table.indexes() 

看來,indexes是JPA2.1(這是在JavaEE的7支持)的新方法,而Java EE服務器不提供它。

但如圖所示,休眠依賴org.hibernate.javax.persistence >> hibernate-jpa-2.1-api >> 1.0.0.Final提供了爲什麼Java EE服務器無法使用該方法的方法?

爲了解決這個問題,對於一個給定的JavaEE服務器來說它只支持JavaEE 5,在選擇JDK框架時應該考慮什麼?

回答

0

JPA 2.1適用於JavaEE7和Java 7以上版本。

對於JavaEE兼容性與JDK版本,我會看看這previous StackOverflow question

+0

Java EE 7被指定爲與Java 7兼容,因此也擴展爲JPA 2.1。 –

+0

你是對的,我更新了我的答案 –