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框架時應該考慮什麼?
Java EE 7被指定爲與Java 7兼容,因此也擴展爲JPA 2.1。 –
你是對的,我更新了我的答案 –