This is an automated email from the ASF dual-hosted git repository.

ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git


The following commit(s) were added to refs/heads/master by this push:
     new c10bc03055 Upgrading Hibernate ORM
c10bc03055 is described below

commit c10bc03055f83ed58e59929d19f5a9340165bf54
Author: Francesco Chicchiriccò <[email protected]>
AuthorDate: Tue Mar 17 08:42:57 2026 +0100

    Upgrading Hibernate ORM
---
 .../core/persistence/jpa/PersistenceContext.java   |   4 -
 .../jpa/hibernate/Jackson3JsonFormatMapper.java    | 107 ---------------------
 pom.xml                                            |   2 +-
 3 files changed, 1 insertion(+), 112 deletions(-)

diff --git 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/PersistenceContext.java
 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/PersistenceContext.java
index d55d719116..8a8f871f70 100644
--- 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/PersistenceContext.java
+++ 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/PersistenceContext.java
@@ -182,7 +182,6 @@ import 
org.apache.syncope.core.persistence.jpa.dao.repo.UserRepoExtImpl;
 import org.apache.syncope.core.persistence.jpa.dao.repo.WAConfigRepo;
 import org.apache.syncope.core.persistence.jpa.entity.task.JPATaskUtilsFactory;
 import 
org.apache.syncope.core.persistence.jpa.hibernate.DomainJCacheRegionFactory;
-import 
org.apache.syncope.core.persistence.jpa.hibernate.Jackson3JsonFormatMapper;
 import 
org.apache.syncope.core.persistence.jpa.spring.CommonEntityManagerFactoryConf;
 import 
org.apache.syncope.core.persistence.jpa.spring.DomainRoutingEntityManagerFactory;
 import 
org.apache.syncope.core.persistence.jpa.spring.MultiJarAwarePersistenceUnitPostProcessor;
@@ -236,9 +235,6 @@ public class PersistenceContext {
                 ifPresent(cacheURI -> 
jpaPropertyMap.put("hibernate.javax.cache.uri", cacheURI));
         jpaPropertyMap.put("hibernate.cache.region.factory_class", 
DomainJCacheRegionFactory.class.getName());
 
-        // until https://hibernate.atlassian.net/browse/HHH-19890 
https://github.com/hibernate/hibernate-orm/pull/11357
-        jpaPropertyMap.put("hibernate.type.json_format_mapper", 
Jackson3JsonFormatMapper.class.getName());
-
         commonEMFConf.setJpaPropertyMap(jpaPropertyMap);
 
         commonEMFConf.getDomains().put(SyncopeConstants.MASTER_DOMAIN, 
(DataSource) masterDataSource.getObject());
diff --git 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/hibernate/Jackson3JsonFormatMapper.java
 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/hibernate/Jackson3JsonFormatMapper.java
deleted file mode 100644
index 6d27a0ceb9..0000000000
--- 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/hibernate/Jackson3JsonFormatMapper.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.core.persistence.jpa.hibernate;
-
-import java.lang.reflect.Type;
-import java.util.List;
-import org.hibernate.type.descriptor.WrapperOptions;
-import org.hibernate.type.descriptor.java.JavaType;
-import org.hibernate.type.format.AbstractJsonFormatMapper;
-import org.hibernate.type.format.FormatMapperCreationContext;
-import tools.jackson.core.JacksonException;
-import tools.jackson.core.JsonGenerator;
-import tools.jackson.core.JsonParser;
-import tools.jackson.databind.JacksonModule;
-import tools.jackson.databind.cfg.MapperBuilder;
-import tools.jackson.databind.json.JsonMapper;
-
-public final class Jackson3JsonFormatMapper extends AbstractJsonFormatMapper {
-
-    public static final String SHORT_NAME = "jackson3";
-
-    private final JsonMapper jsonMapper;
-
-    public Jackson3JsonFormatMapper() {
-        
this(MapperBuilder.findModules(Jackson3JsonFormatMapper.class.getClassLoader()));
-    }
-
-    public Jackson3JsonFormatMapper(final FormatMapperCreationContext 
creationContext) {
-        this(creationContext.
-                getBootstrapContext().
-                getClassLoaderService().
-                
<List<JacksonModule>>workWithClassLoader(MapperBuilder::findModules));
-    }
-
-    private Jackson3JsonFormatMapper(final List<JacksonModule> modules) {
-        
this(JsonMapper.builderWithJackson2Defaults().addModules(modules).build());
-    }
-
-    public Jackson3JsonFormatMapper(final JsonMapper jsonMapper) {
-        this.jsonMapper = jsonMapper;
-    }
-
-    @Override
-    public <T> void writeToTarget(
-            final T value,
-            final JavaType<T> javaType,
-            final Object target,
-            final WrapperOptions options)
-            throws JacksonException {
-
-        jsonMapper.writerFor(jsonMapper.constructType(javaType.getJavaType())).
-                writeValue((JsonGenerator) target, value);
-    }
-
-    @Override
-    public <T> T readFromSource(
-            final JavaType<T> javaType,
-            final Object source,
-            final WrapperOptions options) throws JacksonException {
-
-        return jsonMapper.readValue((JsonParser) source, 
jsonMapper.constructType(javaType.getJavaType()));
-    }
-
-    @Override
-    public boolean supportsSourceType(final Class<?> sourceType) {
-        return JsonParser.class.isAssignableFrom(sourceType);
-    }
-
-    @Override
-    public boolean supportsTargetType(final Class<?> targetType) {
-        return JsonGenerator.class.isAssignableFrom(targetType);
-    }
-
-    @Override
-    public <T> T fromString(final CharSequence charSequence, final Type type) {
-        try {
-            return jsonMapper.readValue(charSequence.toString(), 
jsonMapper.constructType(type));
-        } catch (JacksonException e) {
-            throw new IllegalArgumentException("Could not deserialize string 
to java type: " + type, e);
-        }
-    }
-
-    @Override
-    public <T> String toString(final T value, final Type type) {
-        try {
-            return 
jsonMapper.writerFor(jsonMapper.constructType(type)).writeValueAsString(value);
-        } catch (JacksonException e) {
-            throw new IllegalArgumentException("Could not serialize object of 
java type: " + type, e);
-        }
-    }
-}
diff --git a/pom.xml b/pom.xml
index 24c0bf2fe6..2106ffb8c7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -438,7 +438,7 @@ under the License.
     <spring-boot.version>4.0.3</spring-boot.version>
     <spring-cloud-version>5.0.1</spring-cloud-version>
 
-    <hibernate.version>7.2.7.Final</hibernate.version>
+    <hibernate.version>7.3.0.Final</hibernate.version>
 
     <jasypt.version>1.9.3</jasypt.version>
 

Reply via email to