Spring Framework | Hibernate | Java | Tomcat |
---|---|---|---|
7.0 |
7.0 |
17 |
11 |
6.0 |
5.5+ |
17 |
10 |
5.3 |
5.2+ |
8+ |
8.5+ |
5.0 |
5.0+ |
8+ |
8.5+ |
4.3 |
[3-5.2] |
1.6+ |
6+ |
3.2 |
[3.x-4.2] |
1.6+ |
6+ |
2.5 |
[3.2-3.6] |
1.6+ |
6+ |
Hibernate ORM | Java | JPA | Jakarta Persistence | Jakarta Data |
---|---|---|---|---|
17+ |
❌ |
3.2 |
1.0 |
|
6.6 [3] |
11, 17 ou 21 |
❌ |
3.1 |
1.0 |
6.5 [4] |
11, 17 ou 21 |
❌ |
3.1 |
❌ |
6.4 |
11, 17 ou 21 |
❌ |
3.1 |
❌ |
6.3 |
11, 17 ou 21 |
❌ |
3.1 |
❌ |
6.2 |
11, 17, 20 ou 21 |
❌ |
3.1 |
❌ |
6.1 |
11, 17 ou 18 |
❌ |
3.1 and 3.0 |
❌ |
6.0 |
11, 17 ou 18 |
❌ |
3.0 |
❌ |
5.6 |
8, 11, 17 ou 18 |
2.2 |
3.0 |
❌ |
5.5 |
8, 11 ou 17 |
2.2 |
3.0 |
❌ |
5.4 |
8, 11 ou 17 (avec 5.4.32+) |
2.2 |
❌ |
❌ |
5.3 |
8 |
2.2 |
❌ |
❌ |
5.2 |
8 |
2.1 |
❌ |
❌ |
5.1 |
6/7/8 → 5.1.3; |
2.1 |
❌ |
❌ |
5.0 |
6, 7 ou 8 |
2.1 |
❌ |
❌ |
4.3 |
6+ |
2.1 |
❌ |
❌ |
4.2 |
6+ |
2.0 |
❌ |
❌ |
3.6 |
1.5+ |
2.0 |
❌ |
❌ |
3.5 |
1.4+ |
2.0 |
❌ |
❌ |
3.2 |
1.4+ |
1.0 |
❌ |
❌ |
Références :
Spring FWK | Java |
---|---|
7.0.x |
|
6.2.x |
[17-25 (expected)] [8] |
6.1.x |
[17-23] [8] |
6.0.x |
[17-21] Note 3, Note 4, Note 5 [8] |
5.3.x |
|
5.2.x |
[8-15] |
5.1.x |
[8-12] |
5.0.x |
[8-10] [8] |
4.3.x |
[6-8] |
4.x |
6+ |
3.x |
[5-7]. Note 1 |
2.5 |
1.4+ |
-
Note 1 : Support Java 8 limité sur Spring 3.x, restreint au format de bytecode 1.7 (https://spring.io/blog/2013/05/21/spring-framework-4-0-m1-3-2-3-available/)
-
Note 3 : From Spring Framework 5.3 to 6.0 (SpringOne 2021)
-
Note 4 : A Java 17 and Jakarta EE 9 baseline for Spring Framework 6 (2021)
-
Note 5 : An update on Java 17+ adoption (2022)
Spring FWK | Hibernate |
---|---|
6.0.x |
Compatible Hibernate 5.5/5.6. |
5.3.x |
Hibernate [5.2-5.4]. Note 9 |
5.2.x |
Hibernate [5.0-5.4]. Note 8 |
5.1.x |
JPA 2.1+ ou Hibernate [5.0-5.3]. Note 5 |
5.0.x |
JPA 2.1+ ou Hibernate [5.0-5.2]. Note 1 |
4.3.x |
[3.6-5.2] Note 4 |
4.0.x |
[3.6-4]. Note 2 |
3.2.x |
[3-4.2.x]. Note 3 |
3.0.x |
[3.2-3.6] |
-
Note 2 : Voir https://docs.spring.io/spring/docs/4.0.0.RELEASE/spring-framework-reference/html/orm.html#orm-hibernate
-
Note 3 : Hibernate 4.2 d’après le POM de spring-orm 3.2.18
-
Note 4 : Support for Hibernate ORM 5.2
-
Note 5 : Support for Hibernate ORM 5.3
-
Note 6 : Support for Hibernate ORM 6.0 (postponed)
-
Note 7 : From Spring Framework 5.3 to 6.0 - new baseline contains Jakarta EE 9 / Hibernate ORM 6 → 🎬 https://www.youtube.com/watch?v=btvh21K3yvU&t=604s
-
Note 8 : Javadoc dans https://github.com/spring-projects/spring-framework/blob/5.2.x/spring-orm/src/main/java/org/springframework/orm/hibernate5/LocalSessionFactoryBean.java
-
Note 9 :
-
Note 10 : Javadoc dans https://github.com/spring-projects/spring-framework/blob/6.0.x/spring-orm/src/main/java/org/springframework/orm/hibernate5/LocalSessionFactoryBean.java
Voir la classe LocalSessionFactoryBean
dans les packages org.springframework.orm.hibernate3
, org.springframework.orm.hibernate4
, org.springframework.orm.hibernate5
.
Note
|
La classe org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean est remplacée par org.springframework.orm.hibernate4.LocalSessionFactoryBean .
|
Un outil propose d’appliquer du refactoring de code ou des montées de versions des librairies de façon automatisée. Il s’agit de OpenRewrite.
Ces refactorings sont présentés sous la forme de "recettes" (recipes). Un catalogue de recipes est présenté ici : https://docs.openrewrite.org/recipes.
Il existe de nombreuses recipes pour l’écosystème Spring, présentées ici : https://docs.openrewrite.org/recipes/java/spring.
Et en particulier pour Spring Framework : https://docs.openrewrite.org/recipes/java/spring/framework.
Par exemple :