From ad6bdf95ecf03f52aec5c82eff51a13fd7913575 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Nov 2025 23:04:41 +0000 Subject: [PATCH 01/10] Bump org.springframework.boot:spring-boot-starter-parent Bumps [org.springframework.boot:spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) from 3.5.7 to 4.0.0. - [Release notes](https://github.com/spring-projects/spring-boot/releases) - [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.7...v4.0.0) --- updated-dependencies: - dependency-name: org.springframework.boot:spring-boot-starter-parent dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f88d6ce79..7ce1fe02d 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.7 + 4.0.0 From 3e789fcc19152b106c8f97a46a21181f0d4081be Mon Sep 17 00:00:00 2001 From: dennisvang <29799340+dennisvang@users.noreply.github.com> Date: Wed, 26 Nov 2025 14:56:19 +0100 Subject: [PATCH 02/10] switch from spring-boot-starter-aop to spring-boot-starter-aspectj also add companion module spring-boot-starter-aspectj-test as suggested in [1] [1]: https://spring.io/blog/2025/10/28/modularizing-spring-boot#how-to-migrate-to-spring-boot-4 --- pom.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7ce1fe02d..33b328ab3 100644 --- a/pom.xml +++ b/pom.xml @@ -139,7 +139,7 @@ org.springframework.boot - spring-boot-starter-aop + spring-boot-starter-aspectj org.springframework.boot @@ -231,6 +231,11 @@ + + org.springframework.boot + spring-boot-starter-aspectj-test + test + org.springframework.security spring-security-test From 9eda3bc8ac98cfd50f2887786a69e73fdb5a8ce1 Mon Sep 17 00:00:00 2001 From: dennisvang <29799340+dennisvang@users.noreply.github.com> Date: Wed, 26 Nov 2025 15:07:13 +0100 Subject: [PATCH 03/10] use spring-boot-starter-webmvc instead of the older spring-boot-starter-web and add corresponding test companion module following suggestions from [1] [1]: https://spring.io/blog/2025/10/28/modularizing-spring-boot#how-to-migrate-to-spring-boot-4 --- pom.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 33b328ab3..5cdbd28f4 100644 --- a/pom.xml +++ b/pom.xml @@ -104,7 +104,7 @@ org.springframework.boot - spring-boot-starter-web + spring-boot-starter-webmvc @@ -236,6 +236,11 @@ spring-boot-starter-aspectj-test test + + org.springframework.boot + spring-boot-starter-webmvc-test + test + org.springframework.security spring-security-test From 5fcfd39b89db82fdbc1582f8a5a228885f226a7e Mon Sep 17 00:00:00 2001 From: dennisvang <29799340+dennisvang@users.noreply.github.com> Date: Wed, 26 Nov 2025 15:14:32 +0100 Subject: [PATCH 04/10] add spring-boot-starter-security-test for consistency --- pom.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pom.xml b/pom.xml index 5cdbd28f4..ccf233f27 100644 --- a/pom.xml +++ b/pom.xml @@ -222,6 +222,7 @@ org.springframework.boot + spring-boot-starter-test test @@ -242,6 +243,12 @@ test + org.springframework.boot + spring-boot-starter-security-test + test + + + org.springframework.security spring-security-test test From 81487fce14f4491c2b8343f0108cc69f0c4f7685 Mon Sep 17 00:00:00 2001 From: dennisvang <29799340+dennisvang@users.noreply.github.com> Date: Wed, 26 Nov 2025 15:31:56 +0100 Subject: [PATCH 05/10] remove spring-security-test dependency because it is implicit in spring-boot-starter-security-test --- pom.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pom.xml b/pom.xml index ccf233f27..472cd2a1e 100644 --- a/pom.xml +++ b/pom.xml @@ -247,12 +247,6 @@ spring-boot-starter-security-test test - - - org.springframework.security - spring-security-test - test - org.apache.httpcomponents.client5 httpclient5 From 6ef40c2d7edc33a56949763d8e4d87b7c490ae4d Mon Sep 17 00:00:00 2001 From: dennisvang <29799340+dennisvang@users.noreply.github.com> Date: Wed, 26 Nov 2025 15:34:41 +0100 Subject: [PATCH 06/10] add spring-boot-starter-data-jpa-test dependency for consistency --- pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pom.xml b/pom.xml index 472cd2a1e..836939e6e 100644 --- a/pom.xml +++ b/pom.xml @@ -242,6 +242,11 @@ spring-boot-starter-webmvc-test test + + org.springframework.boot + spring-boot-starter-data-jpa-test + test + org.springframework.boot spring-boot-starter-security-test From 13ef9ce71efa57301008ca1966d0c42a45a5fce2 Mon Sep 17 00:00:00 2001 From: dennisvang <29799340+dennisvang@users.noreply.github.com> Date: Wed, 26 Nov 2025 16:03:54 +0100 Subject: [PATCH 07/10] remove spring-boot-starter-test dependency because this is implicit in the spring-boot test modules beware: may need to restore this in order to exclude 'android-json' again, if necessary --- pom.xml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/pom.xml b/pom.xml index 836939e6e..07b1d3c6a 100644 --- a/pom.xml +++ b/pom.xml @@ -220,18 +220,6 @@ - - org.springframework.boot - - spring-boot-starter-test - test - - - com.vaadin.external.google - android-json - - - org.springframework.boot spring-boot-starter-aspectj-test From 3ffc059f103d7e8c29a16fe9d78a190716996c2e Mon Sep 17 00:00:00 2001 From: dennisvang <29799340+dennisvang@users.noreply.github.com> Date: Wed, 26 Nov 2025 16:27:24 +0100 Subject: [PATCH 08/10] add spring-boot-starter-flyway dependency and corresponding test starter required when using flyway in spring-boot 4 --- pom.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pom.xml b/pom.xml index 07b1d3c6a..e4a30ee88 100644 --- a/pom.xml +++ b/pom.xml @@ -129,6 +129,10 @@ org.springframework.boot spring-boot-starter-data-jpa + + org.springframework.boot + spring-boot-starter-flyway + org.springframework.security spring-security-acl @@ -235,6 +239,11 @@ spring-boot-starter-data-jpa-test test + + org.springframework.boot + spring-boot-starter-flyway-test + test + org.springframework.boot spring-boot-starter-security-test From 310ea4229dc458d780da4d4a41c7a5666d762aaa Mon Sep 17 00:00:00 2001 From: dennisvang <29799340+dennisvang@users.noreply.github.com> Date: Wed, 26 Nov 2025 16:30:16 +0100 Subject: [PATCH 09/10] replace PostgreSQLEnumJdbcType by SqlTypes.NAMED_ENUM as required for hibernate 7 [2] [2]: https://docs.hibernate.org/orm/7.0/migration-guide/#misc-spi --- .../org/fairdatapoint/entity/index/entry/IndexEntry.java | 8 ++++---- .../org/fairdatapoint/entity/index/event/IndexEvent.java | 6 +++--- .../entity/schema/MetadataSchemaVersion.java | 8 ++++---- .../org/fairdatapoint/entity/search/SearchSavedQuery.java | 6 +++--- .../entity/settings/SettingsSearchFilter.java | 6 +++--- .../java/org/fairdatapoint/entity/user/UserAccount.java | 6 +++--- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/main/java/org/fairdatapoint/entity/index/entry/IndexEntry.java b/src/main/java/org/fairdatapoint/entity/index/entry/IndexEntry.java index 5fb4337ab..23f3c76a1 100644 --- a/src/main/java/org/fairdatapoint/entity/index/entry/IndexEntry.java +++ b/src/main/java/org/fairdatapoint/entity/index/entry/IndexEntry.java @@ -29,9 +29,9 @@ import lombok.experimental.SuperBuilder; import org.fairdatapoint.entity.base.BaseEntity; import org.fairdatapoint.entity.index.event.IndexEvent; -import org.hibernate.annotations.JdbcType; +import org.hibernate.annotations.JdbcTypeCode; import org.hibernate.annotations.Type; -import org.hibernate.dialect.PostgreSQLEnumJdbcType; +import org.hibernate.type.SqlTypes; import java.time.Duration; import java.time.Instant; @@ -60,13 +60,13 @@ public class IndexEntry extends BaseEntity { @NotNull @Enumerated(EnumType.STRING) - @JdbcType(PostgreSQLEnumJdbcType.class) + @JdbcTypeCode(SqlTypes.NAMED_ENUM) @Column(name = "state", columnDefinition = "INDEX_ENTRY_STATE", nullable = false) private IndexEntryState state = IndexEntryState.UNKNOWN; @NotNull @Enumerated(EnumType.STRING) - @JdbcType(PostgreSQLEnumJdbcType.class) + @JdbcTypeCode(SqlTypes.NAMED_ENUM) @Column(name = "permit", columnDefinition = "INDEX_ENTRY_PERMIT", nullable = false) private IndexEntryPermit permit = IndexEntryPermit.PENDING; diff --git a/src/main/java/org/fairdatapoint/entity/index/event/IndexEvent.java b/src/main/java/org/fairdatapoint/entity/index/event/IndexEvent.java index f06d1d289..270644424 100644 --- a/src/main/java/org/fairdatapoint/entity/index/event/IndexEvent.java +++ b/src/main/java/org/fairdatapoint/entity/index/event/IndexEvent.java @@ -33,9 +33,9 @@ import org.fairdatapoint.entity.base.BaseEntity; import org.fairdatapoint.entity.index.entry.IndexEntry; import org.fairdatapoint.entity.index.event.payload.*; -import org.hibernate.annotations.JdbcType; +import org.hibernate.annotations.JdbcTypeCode; import org.hibernate.annotations.Type; -import org.hibernate.dialect.PostgreSQLEnumJdbcType; +import org.hibernate.type.SqlTypes; import java.time.Instant; @@ -50,7 +50,7 @@ public class IndexEvent extends BaseEntity { @NotNull @Enumerated(EnumType.STRING) - @JdbcType(PostgreSQLEnumJdbcType.class) + @JdbcTypeCode(SqlTypes.NAMED_ENUM) @Column(name = "type", columnDefinition = "INDEX_EVENT_TYPE", nullable = false) private IndexEventType type; diff --git a/src/main/java/org/fairdatapoint/entity/schema/MetadataSchemaVersion.java b/src/main/java/org/fairdatapoint/entity/schema/MetadataSchemaVersion.java index 6e463ca50..6f9146a87 100644 --- a/src/main/java/org/fairdatapoint/entity/schema/MetadataSchemaVersion.java +++ b/src/main/java/org/fairdatapoint/entity/schema/MetadataSchemaVersion.java @@ -29,9 +29,9 @@ import lombok.*; import lombok.experimental.SuperBuilder; import org.fairdatapoint.entity.base.BaseEntityCustomUUID; -import org.hibernate.annotations.JdbcType; +import org.hibernate.annotations.JdbcTypeCode; import org.hibernate.annotations.Type; -import org.hibernate.dialect.PostgreSQLEnumJdbcType; +import org.hibernate.type.SqlTypes; import java.util.HashSet; import java.util.List; @@ -83,7 +83,7 @@ public class MetadataSchemaVersion extends BaseEntityCustomUUID { @NotNull @Enumerated(EnumType.STRING) - @JdbcType(PostgreSQLEnumJdbcType.class) + @JdbcTypeCode(SqlTypes.NAMED_ENUM) @Column(name = "type", columnDefinition = "METADATA_SCHEMA_TYPE", nullable = false) private MetadataSchemaType type; @@ -95,7 +95,7 @@ public class MetadataSchemaVersion extends BaseEntityCustomUUID { @NotNull @Enumerated(EnumType.STRING) - @JdbcType(PostgreSQLEnumJdbcType.class) + @JdbcTypeCode(SqlTypes.NAMED_ENUM) @Column(name = "state", columnDefinition = "METADATA_SCHEMA_STATE", nullable = false) private MetadataSchemaState state; diff --git a/src/main/java/org/fairdatapoint/entity/search/SearchSavedQuery.java b/src/main/java/org/fairdatapoint/entity/search/SearchSavedQuery.java index c42596898..7b945406e 100644 --- a/src/main/java/org/fairdatapoint/entity/search/SearchSavedQuery.java +++ b/src/main/java/org/fairdatapoint/entity/search/SearchSavedQuery.java @@ -28,8 +28,8 @@ import lombok.experimental.SuperBuilder; import org.fairdatapoint.entity.base.BaseEntity; import org.fairdatapoint.entity.user.UserAccount; -import org.hibernate.annotations.JdbcType; -import org.hibernate.dialect.PostgreSQLEnumJdbcType; +import org.hibernate.annotations.JdbcTypeCode; +import org.hibernate.type.SqlTypes; @Entity(name = "SearchSavedQuery") @Table(name = "search_saved_query") @@ -55,7 +55,7 @@ public class SearchSavedQuery extends BaseEntity { @NotNull @Enumerated(EnumType.STRING) - @JdbcType(PostgreSQLEnumJdbcType.class) + @JdbcTypeCode(SqlTypes.NAMED_ENUM) @Column(name = "type", columnDefinition = "SAVED_QUERY_TYPE", nullable = false) private SearchSavedQueryType type; diff --git a/src/main/java/org/fairdatapoint/entity/settings/SettingsSearchFilter.java b/src/main/java/org/fairdatapoint/entity/settings/SettingsSearchFilter.java index 9094542c2..ffcad094d 100644 --- a/src/main/java/org/fairdatapoint/entity/settings/SettingsSearchFilter.java +++ b/src/main/java/org/fairdatapoint/entity/settings/SettingsSearchFilter.java @@ -28,8 +28,8 @@ import lombok.experimental.SuperBuilder; import org.fairdatapoint.entity.base.BaseEntity; import org.fairdatapoint.entity.search.SearchFilterType; -import org.hibernate.annotations.JdbcType; -import org.hibernate.dialect.PostgreSQLEnumJdbcType; +import org.hibernate.annotations.JdbcTypeCode; +import org.hibernate.type.SqlTypes; import java.util.List; @@ -44,7 +44,7 @@ public class SettingsSearchFilter extends BaseEntity { @NotNull @Enumerated(EnumType.STRING) - @JdbcType(PostgreSQLEnumJdbcType.class) + @JdbcTypeCode(SqlTypes.NAMED_ENUM) @Column(name = "type", columnDefinition = "SEARCH_FILTER_TYPE", nullable = false) private SearchFilterType type; diff --git a/src/main/java/org/fairdatapoint/entity/user/UserAccount.java b/src/main/java/org/fairdatapoint/entity/user/UserAccount.java index 76d569408..fe8ab0745 100644 --- a/src/main/java/org/fairdatapoint/entity/user/UserAccount.java +++ b/src/main/java/org/fairdatapoint/entity/user/UserAccount.java @@ -29,8 +29,8 @@ import org.fairdatapoint.entity.apikey.ApiKey; import org.fairdatapoint.entity.base.BaseEntity; import org.fairdatapoint.entity.search.SearchSavedQuery; -import org.hibernate.annotations.JdbcType; -import org.hibernate.dialect.PostgreSQLEnumJdbcType; +import org.hibernate.annotations.JdbcTypeCode; +import org.hibernate.type.SqlTypes; import java.util.List; import java.util.UUID; @@ -62,7 +62,7 @@ public class UserAccount extends BaseEntity { @NotNull @Enumerated(EnumType.STRING) - @JdbcType(PostgreSQLEnumJdbcType.class) + @JdbcTypeCode(SqlTypes.NAMED_ENUM) @Column(name = "user_role", columnDefinition = "USER_ROLE", nullable = false) private UserRole role; From a64318520d94a99cbf064f9333e5865d9e26ecef Mon Sep 17 00:00:00 2001 From: dennisvang <29799340+dennisvang@users.noreply.github.com> Date: Wed, 26 Nov 2025 17:03:31 +0100 Subject: [PATCH 10/10] upgrade to hypersistence-utils-hibernate-71 dependency because spring-boot 4 uses hibernate 7.1 (latest version remains the same: 3.12.0) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e4a30ee88..29617674e 100644 --- a/pom.xml +++ b/pom.xml @@ -211,7 +211,7 @@ io.hypersistence - hypersistence-utils-hibernate-63 + hypersistence-utils-hibernate-71 ${hypersistence.version}