diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/CallMetaDataProviderFactory.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/CallMetaDataProviderFactory.java
index a44dbec9a499..61942d4dcade 100644
--- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/CallMetaDataProviderFactory.java
+++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/CallMetaDataProviderFactory.java
@@ -118,6 +118,7 @@ public static CallMetaDataProvider createMetaDataProvider(DataSource dataSource,
}
}
+ @SuppressWarnings("removal")
CallMetaDataProvider provider = switch (databaseProductName) {
case ORACLE -> new OracleCallMetaDataProvider(databaseMetaData);
case POSTGRES -> new PostgresCallMetaDataProvider(databaseMetaData);
diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/DerbyCallMetaDataProvider.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/DerbyCallMetaDataProvider.java
index 592fe1223131..1d257a9e3651 100644
--- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/DerbyCallMetaDataProvider.java
+++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/DerbyCallMetaDataProvider.java
@@ -29,7 +29,9 @@
* @author Thomas Risberg
* @author Juergen Hoeller
* @since 2.5
+ * @deprecated Apache Derby is retired, switch to H2 or HSQLDB
*/
+@Deprecated(forRemoval = true, since = "7.1")
public class DerbyCallMetaDataProvider extends GenericCallMetaDataProvider {
public DerbyCallMetaDataProvider(DatabaseMetaData databaseMetaData) throws SQLException {
diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/DerbyTableMetaDataProvider.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/DerbyTableMetaDataProvider.java
index af6575c00b60..3278d3845f44 100644
--- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/DerbyTableMetaDataProvider.java
+++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/DerbyTableMetaDataProvider.java
@@ -25,7 +25,9 @@
*
* @author Thomas Risberg
* @since 3.0
+ * @deprecated Apache Derby is retired, switch to HSQLDB or H2
*/
+@Deprecated(forRemoval = true, since = "7.1")
public class DerbyTableMetaDataProvider extends GenericTableMetaDataProvider {
private boolean supportsGeneratedKeysOverride = false;
diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/TableMetaDataProviderFactory.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/TableMetaDataProviderFactory.java
index f0301f92695b..9b334e19ff9f 100644
--- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/TableMetaDataProviderFactory.java
+++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/TableMetaDataProviderFactory.java
@@ -47,6 +47,7 @@ private TableMetaDataProviderFactory() {
* @param context the class that holds configuration and meta-data
* @return instance of the TableMetaDataProvider implementation to be used
*/
+ @SuppressWarnings("removal")
public static TableMetaDataProvider createMetaDataProvider(DataSource dataSource, TableMetaDataContext context) {
try {
return JdbcUtils.extractDatabaseMetaData(dataSource, databaseMetaData -> {
diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/DerbyEmbeddedDatabaseConfigurer.java b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/DerbyEmbeddedDatabaseConfigurer.java
index 0070a72c3734..a1f241c3187f 100644
--- a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/DerbyEmbeddedDatabaseConfigurer.java
+++ b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/DerbyEmbeddedDatabaseConfigurer.java
@@ -16,6 +16,7 @@
package org.springframework.jdbc.datasource.embedded;
+import java.io.OutputStream;
import java.sql.SQLException;
import java.util.Properties;
@@ -33,7 +34,9 @@
* @author Oliver Gierke
* @author Juergen Hoeller
* @since 3.0
+ * @deprecated Apache Derby is retired, switch to H2 or HSQLDB
*/
+@Deprecated(forRemoval = true, since = "7.1")
final class DerbyEmbeddedDatabaseConfigurer implements EmbeddedDatabaseConfigurer {
private static final String URL_TEMPLATE = "jdbc:derby:memory:%s;%s";
@@ -49,7 +52,7 @@ public static synchronized DerbyEmbeddedDatabaseConfigurer getInstance() {
if (instance == null) {
// disable log file
System.setProperty("derby.stream.error.method",
- OutputStreamFactory.class.getName() + ".getNoopOutputStream");
+ OutputStream.class.getName() + ".nullOutputStream");
instance = new DerbyEmbeddedDatabaseConfigurer();
}
return instance;
diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseConfigurers.java b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseConfigurers.java
index 8af312799c24..eaea103488a8 100644
--- a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseConfigurers.java
+++ b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseConfigurers.java
@@ -38,6 +38,7 @@ public abstract class EmbeddedDatabaseConfigurers {
* @return the configurer instance
* @throws IllegalStateException if the driver for the specified database type is not available
*/
+ @SuppressWarnings("removal")
public static EmbeddedDatabaseConfigurer getConfigurer(EmbeddedDatabaseType type) {
Assert.notNull(type, "EmbeddedDatabaseType is required");
try {
diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseType.java b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseType.java
index df6bd3a46b13..4ba5806c6ab9 100644
--- a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseType.java
+++ b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseType.java
@@ -31,7 +31,12 @@ public enum EmbeddedDatabaseType {
/** The H2 Embedded Java SQL Database Engine. */
H2,
- /** The Apache Derby Embedded SQL Database. */
+ /**
+ * The Apache Derby Embedded SQL Database.
+ *
+ * @deprecated Apache Derby is retired, switch to HSQLDB or H2
+ */
+ @Deprecated(forRemoval = true, since = "7.1")
DERBY
}
diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/support/incrementer/DerbyMaxValueIncrementer.java b/spring-jdbc/src/main/java/org/springframework/jdbc/support/incrementer/DerbyMaxValueIncrementer.java
index 92f0654a39bd..f429e66ac06d 100644
--- a/spring-jdbc/src/main/java/org/springframework/jdbc/support/incrementer/DerbyMaxValueIncrementer.java
+++ b/spring-jdbc/src/main/java/org/springframework/jdbc/support/incrementer/DerbyMaxValueIncrementer.java
@@ -51,8 +51,9 @@
*
* @author Thomas Risberg
* @author Juergen Hoeller
- * @since 2.5
+ * @deprecated Apache Derby is retired, switch to HSQLDB or H2
*/
+@Deprecated(forRemoval = true, since = "7.1")
public class DerbyMaxValueIncrementer extends AbstractIdentityColumnMaxValueIncrementer {
/** The default for dummy name. */
diff --git a/spring-orm/src/main/java/org/springframework/orm/jpa/vendor/Database.java b/spring-orm/src/main/java/org/springframework/orm/jpa/vendor/Database.java
index 177db82d0184..955fa498faf5 100644
--- a/spring-orm/src/main/java/org/springframework/orm/jpa/vendor/Database.java
+++ b/spring-orm/src/main/java/org/springframework/orm/jpa/vendor/Database.java
@@ -37,6 +37,10 @@ public enum Database {
DB2,
+ /**
+ * @deprecated Apache Derby is retired, switch to HSQLDB or H2
+ */
+ @Deprecated(forRemoval = true, since = "7.1")
DERBY,
/** @since 2.5.5 */