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>