From 77a0d1f5879199809b61ebd1c83fedf8aaabe7bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 12 Apr 2026 09:20:10 +0000 Subject: [PATCH 1/3] Bump hibernate-core from 3.3.0.GA to 5.3.20.Final in /db Bumps [hibernate-core](https://github.com/hibernate/hibernate-orm) from 3.3.0.GA to 5.3.20.Final. - [Release notes](https://github.com/hibernate/hibernate-orm/releases) - [Changelog](https://github.com/hibernate/hibernate-orm/blob/5.3.20/changelog.txt) - [Commits](https://github.com/hibernate/hibernate-orm/commits/5.3.20) --- updated-dependencies: - dependency-name: org.hibernate:hibernate-core dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- db/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/pom.xml b/db/pom.xml index 45dc0fd..05e9860 100644 --- a/db/pom.xml +++ b/db/pom.xml @@ -45,7 +45,7 @@ org.hibernate hibernate-core - 3.3.0.GA + 5.3.20.Final jar From fb09d877001162dbac756e4ca63e389ca78c9748 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 12 Apr 2026 12:00:50 +0000 Subject: [PATCH 2/3] Adapt codebase for Hibernate 5.3.20.Final compatibility - Update HibernateConnectionProvider to implement Hibernate 5 SPI (ConnectionProvider, Configurable, Stoppable interfaces) - Replace deprecated setString() with setParameter() in HQL queries - Replace legacy positional params (?) with named params (:tan) - Remove NoCacheProvider reference (removed in Hibernate 5), use cache.use_second_level_cache=false instead Agent-Logs-Url: https://github.com/markusrt/EpiScanGIS/sessions/53eb0e6b-09ed-44ce-97eb-77d6027de76a Co-authored-by: markusrt <299753+markusrt@users.noreply.github.com> --- .../db/HibernateConnectionProvider.java | 35 ++++++++++++++++--- .../db/PgSQLClusterFeedbackDAO.java | 4 +-- db/src/main/resources/hibernate.cfg.xml | 2 +- db/src/test/resources/hibernate.cfg.xml | 2 +- 4 files changed, 34 insertions(+), 9 deletions(-) diff --git a/db/src/main/java/de/meningococcus/episcangis/db/HibernateConnectionProvider.java b/db/src/main/java/de/meningococcus/episcangis/db/HibernateConnectionProvider.java index ca88767..2db55e7 100644 --- a/db/src/main/java/de/meningococcus/episcangis/db/HibernateConnectionProvider.java +++ b/db/src/main/java/de/meningococcus/episcangis/db/HibernateConnectionProvider.java @@ -2,18 +2,21 @@ import java.sql.Connection; import java.sql.SQLException; -import java.util.Properties; +import java.util.Map; import org.hibernate.HibernateException; -import org.hibernate.connection.ConnectionProvider; +import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider; +import org.hibernate.service.spi.Configurable; +import org.hibernate.service.spi.Stoppable; -public class HibernateConnectionProvider implements ConnectionProvider +public class HibernateConnectionProvider implements ConnectionProvider, Configurable, Stoppable { public static DataSourceDaoFactory connectionPool = (DataSourceDaoFactory) DaoFactory .getDaoFactory(); - public void configure(Properties props) throws HibernateException + @Override + public void configure(Map configurationValues) { if (connectionPool == null) { @@ -26,23 +29,45 @@ public void configure(Properties props) throws HibernateException } } + @Override public Connection getConnection() throws SQLException { return connectionPool.getDataSource().getConnection(); } + @Override public void closeConnection(Connection conn) throws SQLException { conn.close(); } - public void close() + @Override + public void stop() { } + @Override public boolean supportsAggressiveRelease() { return false; } + @Override + public boolean isUnwrappableAs(Class unwrapType) + { + return ConnectionProvider.class.equals(unwrapType) || + HibernateConnectionProvider.class.isAssignableFrom(unwrapType); + } + + @Override + @SuppressWarnings("unchecked") + public T unwrap(Class unwrapType) + { + if (isUnwrappableAs(unwrapType)) + { + return (T) this; + } + throw new IllegalArgumentException("Cannot unwrap to " + unwrapType); + } + } diff --git a/db/src/main/java/de/meningococcus/episcangis/db/PgSQLClusterFeedbackDAO.java b/db/src/main/java/de/meningococcus/episcangis/db/PgSQLClusterFeedbackDAO.java index 9199071..5aa14fb 100644 --- a/db/src/main/java/de/meningococcus/episcangis/db/PgSQLClusterFeedbackDAO.java +++ b/db/src/main/java/de/meningococcus/episcangis/db/PgSQLClusterFeedbackDAO.java @@ -48,7 +48,7 @@ public void createClusterFeedback(ClusterFeedback feedback) } tan = RandomStringUtils.random(tanLength, 0, 0, true, true, null, random); tanFeedback = (ClusterFeedback) session.createQuery( - "from ClusterFeedback where tan=?").setString(0, tan).uniqueResult(); + "from ClusterFeedback where tan=:tan").setParameter("tan", tan).uniqueResult(); countTries++; } while (tanFeedback != null); feedback.setTan(tan); @@ -69,7 +69,7 @@ public ClusterFeedback findByTan(String tan) Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); ClusterFeedback feedback = (ClusterFeedback) session.createQuery( - "from ClusterFeedback where tan=?").setString(0, tan).uniqueResult(); + "from ClusterFeedback where tan=:tan").setParameter("tan", tan).uniqueResult(); session.close(); return feedback; } diff --git a/db/src/main/resources/hibernate.cfg.xml b/db/src/main/resources/hibernate.cfg.xml index 956b40f..d84dfc5 100644 --- a/db/src/main/resources/hibernate.cfg.xml +++ b/db/src/main/resources/hibernate.cfg.xml @@ -17,7 +17,7 @@ >de.meningococcus.episcangis.db.HibernateConnectionProvider - org.hibernate.cache.NoCacheProvider + false diff --git a/db/src/test/resources/hibernate.cfg.xml b/db/src/test/resources/hibernate.cfg.xml index 956b40f..d84dfc5 100644 --- a/db/src/test/resources/hibernate.cfg.xml +++ b/db/src/test/resources/hibernate.cfg.xml @@ -17,7 +17,7 @@ >de.meningococcus.episcangis.db.HibernateConnectionProvider - org.hibernate.cache.NoCacheProvider + false From 68c4922415ffd8dbc8f5660512ebd8419d25ce89 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 12 Apr 2026 12:03:08 +0000 Subject: [PATCH 3/3] Address code review: add rawtypes suppress and stop() comment Agent-Logs-Url: https://github.com/markusrt/EpiScanGIS/sessions/53eb0e6b-09ed-44ce-97eb-77d6027de76a Co-authored-by: markusrt <299753+markusrt@users.noreply.github.com> --- .../episcangis/db/HibernateConnectionProvider.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/db/src/main/java/de/meningococcus/episcangis/db/HibernateConnectionProvider.java b/db/src/main/java/de/meningococcus/episcangis/db/HibernateConnectionProvider.java index 2db55e7..738a2b7 100644 --- a/db/src/main/java/de/meningococcus/episcangis/db/HibernateConnectionProvider.java +++ b/db/src/main/java/de/meningococcus/episcangis/db/HibernateConnectionProvider.java @@ -44,6 +44,7 @@ public void closeConnection(Connection conn) throws SQLException @Override public void stop() { + // No cleanup needed; the connection pool is managed by DataSourceDaoFactory } @Override @@ -53,6 +54,7 @@ public boolean supportsAggressiveRelease() } @Override + @SuppressWarnings("rawtypes") public boolean isUnwrappableAs(Class unwrapType) { return ConnectionProvider.class.equals(unwrapType) ||