Spring Boot 3.3 n’est pas copain avec Jakarta Persistence API 3.2.0

Spring Boot 3.3 n’est pas copain avec Jakarta Persistence API 3.2.0

Durant une mise à jour d’un projet interne, nous avons passé en revue l’ensemble des dépendances à mettre à jour sur un projet réalisé avec Spring Boot 3 et là … le drame, une erreur est apparue, après de mures recherches, c’est la mise à jour de Jakarta Persistence API en version 3.2 qui fait planter le projet

Et tout commence par une IllegalArgumentException

Voici la belle erreur que nous avons eu au démarrage de l’application :

Caused by: java.lang.IllegalArgumentException: methods with same signature getSchemaManager() but incompatible return types: [interface org.hibernate.relational.SchemaManager, interface jakarta.persistence.SchemaManager]

On peut voir que l’exception nous donne une piste … Jakarta et grâce à nos historiques de commit, nous avons pu voir que la version était passée de la 3.1.0 à la 3.2.0.

Nous descendons la version en 3.1.0, relançons et tout fonctionne correctement.

 

Quels framework Java utilisons-nous en 2023 ?
Spring Boot 3 : javax c’est fini
Value Object : le must-have du développeur
Allo Breakpoint, vous êtes où ?