Skip to content

Commit 9020e1d

Browse files
committed
Upgrade optional Jackson/JPA integration to Hibernate 6.
Fixes #2234.
1 parent 816ca84 commit 9020e1d

File tree

4 files changed

+11
-24
lines changed

4 files changed

+11
-24
lines changed

spring-data-rest-tests/spring-data-rest-tests-jpa/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858

5959
<dependency>
6060
<groupId>com.fasterxml.jackson.datatype</groupId>
61-
<artifactId>jackson-datatype-hibernate5-jakarta</artifactId>
61+
<artifactId>jackson-datatype-hibernate6</artifactId>
6262
</dependency>
6363

6464
</dependencies>

spring-data-rest-tests/spring-data-rest-tests-jpa/src/test/java/org/springframework/data/rest/webmvc/json/Jackson2DatatypeHelperIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ void setUp() {
7575
}
7676

7777
@Test // DATAREST-500
78-
void configuresHibernate4ModuleToLoadLazyLoadingProxies() throws Exception {
78+
void configuresHibernateModuleToLoadLazyLoadingProxies() throws Exception {
7979

8080
PersistentEntity<?, ?> entity = entities.getRequiredPersistentEntity(Order.class);
8181
PersistentProperty<?> property = entity.getRequiredPersistentProperty("creator");

spring-data-rest-webmvc/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272

7373
<dependency>
7474
<groupId>com.fasterxml.jackson.datatype</groupId>
75-
<artifactId>jackson-datatype-hibernate5-jakarta</artifactId>
75+
<artifactId>jackson-datatype-hibernate6</artifactId>
7676
<optional>true</optional>
7777
</dependency>
7878

spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/json/Jackson2DatatypeHelper.java

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,10 @@
1515
*/
1616
package org.springframework.data.rest.webmvc.json;
1717

18-
import org.hibernate.Version;
1918
import org.springframework.util.ClassUtils;
2019

2120
import com.fasterxml.jackson.databind.ObjectMapper;
22-
import com.fasterxml.jackson.datatype.hibernate5.jakarta.Hibernate5JakartaModule;
21+
import com.fasterxml.jackson.datatype.hibernate6.Hibernate6Module;
2322

2423
/**
2524
* Helper class to register datatype modules based on their presence in the classpath.
@@ -32,35 +31,23 @@ public class Jackson2DatatypeHelper {
3231

3332
private static final boolean IS_HIBERNATE_AVAILABLE = ClassUtils.isPresent("org.hibernate.Version",
3433
Jackson2DatatypeHelper.class.getClassLoader());
35-
private static final boolean IS_HIBERNATE5_MODULE_AVAILABLE = ClassUtils.isPresent(
36-
"com.fasterxml.jackson.datatype.hibernate5.jakarta.Hibernate5JakartaModule",
34+
private static final boolean IS_HIBERNATE6_MODULE_AVAILABLE = ClassUtils.isPresent(
35+
"com.fasterxml.jackson.datatype.hibernate6.Hibernate6Module",
3736
Jackson2DatatypeHelper.class.getClassLoader());
3837

3938
public static void configureObjectMapper(ObjectMapper mapper) {
4039

41-
if (IS_HIBERNATE_AVAILABLE && (HibernateVersions.isHibernate5() || HibernateVersions.isHibernate6())
42-
&& IS_HIBERNATE5_MODULE_AVAILABLE) {
43-
new Hibernate5ModuleRegistrar().registerModule(mapper);
40+
if (IS_HIBERNATE_AVAILABLE && IS_HIBERNATE6_MODULE_AVAILABLE) {
41+
new Hibernate6ModuleRegistrar().registerModule(mapper);
4442
}
4543
}
4644

47-
private static class HibernateVersions {
48-
49-
public static boolean isHibernate5() {
50-
return Version.getVersionString().startsWith("5");
51-
}
52-
53-
public static boolean isHibernate6() {
54-
return Version.getVersionString().startsWith("6");
55-
}
56-
}
57-
58-
private static class Hibernate5ModuleRegistrar {
45+
private static class Hibernate6ModuleRegistrar {
5946

6047
public void registerModule(ObjectMapper mapper) {
6148

62-
Hibernate5JakartaModule module = new Hibernate5JakartaModule();
63-
module.enable(Hibernate5JakartaModule.Feature.FORCE_LAZY_LOADING);
49+
var module = new Hibernate6Module();
50+
module.enable(Hibernate6Module.Feature.FORCE_LAZY_LOADING);
6451

6552
mapper.registerModule(module);
6653
}

0 commit comments

Comments
 (0)