diff --git a/bom/application/pom.xml b/bom/application/pom.xml
index ff81bf68f6afa..6161d8f38aeb1 100644
--- a/bom/application/pom.xml
+++ b/bom/application/pom.xml
@@ -113,7 +113,7 @@
4.1.5
9.1.6
2.3.2
-
1.4.197
+ 2.1.210
42.3.3
3.0.4
8.0.28
diff --git a/extensions/devservices/h2/src/main/java/io/quarkus/devservices/h2/deployment/H2DevServicesProcessor.java b/extensions/devservices/h2/src/main/java/io/quarkus/devservices/h2/deployment/H2DevServicesProcessor.java
index 1489eccd1af19..9b4fb7a7200aa 100644
--- a/extensions/devservices/h2/src/main/java/io/quarkus/devservices/h2/deployment/H2DevServicesProcessor.java
+++ b/extensions/devservices/h2/src/main/java/io/quarkus/devservices/h2/deployment/H2DevServicesProcessor.java
@@ -34,7 +34,8 @@ public RunningDevServicesDatasource startDatabase(Optional username, Opt
OptionalInt port, LaunchMode launchMode, Optional startupTimeout) {
try {
final Server tcpServer = Server.createTcpServer("-tcpPort",
- port.isPresent() ? String.valueOf(port.getAsInt()) : "0");
+ port.isPresent() ? String.valueOf(port.getAsInt()) : "0",
+ "-ifNotExists");
tcpServer.start();
StringBuilder additionalArgs = new StringBuilder();
diff --git a/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayExtensionCleanAndMigrateAtStartTest.java b/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayExtensionCleanAndMigrateAtStartTest.java
index 4d3ddf97e0b10..fd0ca9159bf5b 100644
--- a/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayExtensionCleanAndMigrateAtStartTest.java
+++ b/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayExtensionCleanAndMigrateAtStartTest.java
@@ -11,7 +11,7 @@
import javax.inject.Inject;
import org.flywaydb.core.Flyway;
-import org.h2.jdbc.JdbcSQLException;
+import org.h2.jdbc.JdbcSQLSyntaxErrorException;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
@@ -40,7 +40,7 @@ public void testFlywayConfigInjection() throws SQLException {
try (Connection connection = defaultDataSource.getConnection(); Statement stat = connection.createStatement()) {
try (ResultSet executeQuery = stat.executeQuery("select * from fake_existing_tbl")) {
fail("fake_existing_tbl should not exist");
- } catch (JdbcSQLException e) {
+ } catch (JdbcSQLSyntaxErrorException e) {
// expected fake_existing_tbl does not exist
}
}
diff --git a/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayExtensionCleanAtStartTest.java b/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayExtensionCleanAtStartTest.java
index bcb556266849e..72b9944c89a9f 100644
--- a/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayExtensionCleanAtStartTest.java
+++ b/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayExtensionCleanAtStartTest.java
@@ -12,7 +12,7 @@
import org.flywaydb.core.Flyway;
import org.flywaydb.core.api.MigrationInfo;
-import org.h2.jdbc.JdbcSQLException;
+import org.h2.jdbc.JdbcSQLSyntaxErrorException;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
@@ -41,7 +41,7 @@ public void testFlywayConfigInjection() throws SQLException {
try (Connection connection = defaultDataSource.getConnection(); Statement stat = connection.createStatement()) {
try (ResultSet executeQuery = stat.executeQuery("select * from fake_existing_tbl")) {
fail("fake_existing_tbl should not exist");
- } catch (JdbcSQLException e) {
+ } catch (JdbcSQLSyntaxErrorException e) {
// expected fake_existing_tbl does not exist
}
}
diff --git a/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayExtensionFilesystemResourceTest.java b/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayExtensionFilesystemResourceTest.java
index bb1c8c6f0c004..e81138661eeaa 100644
--- a/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayExtensionFilesystemResourceTest.java
+++ b/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayExtensionFilesystemResourceTest.java
@@ -16,7 +16,7 @@
import org.flywaydb.core.api.migration.BaseJavaMigration;
import org.flywaydb.core.api.migration.Context;
import org.flywaydb.core.api.migration.JavaMigration;
-import org.h2.jdbc.JdbcSQLException;
+import org.h2.jdbc.JdbcSQLSyntaxErrorException;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
@@ -45,7 +45,7 @@ public void testFlywayConfigInjection() throws SQLException {
try (Connection connection = defaultDataSource.getConnection(); Statement stat = connection.createStatement()) {
try (ResultSet executeQuery = stat.executeQuery("select * from fake_existing_tbl")) {
fail("fake_existing_tbl should not exist. Clean was run at start");
- } catch (JdbcSQLException e) {
+ } catch (JdbcSQLSyntaxErrorException e) {
// expected fake_existing_tbl does not exist
}
try (ResultSet countQuery = stat.executeQuery("select count(1) from quarked_flyway")) {
diff --git a/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayH2TestCustomizer.java b/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayH2TestCustomizer.java
index 43ffd5c100a24..75ab8a1830b4f 100644
--- a/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayH2TestCustomizer.java
+++ b/extensions/flyway/deployment/src/test/java/io/quarkus/flyway/test/FlywayH2TestCustomizer.java
@@ -38,7 +38,7 @@ public FlywayH2TestCustomizer withInitSqlFile(String initSqlFile) {
void startH2() {
try {
- tcpServer = Server.createTcpServer("-tcpPort", String.valueOf(port));
+ tcpServer = Server.createTcpServer("-tcpPort", String.valueOf(port), "-ifNotExists");
tcpServer.start();
System.out.println("[INFO] Custom H2 database started in TCP server mode; server status: " + tcpServer.getStatus());
if (initSqlFile != null) {
diff --git a/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/multiplepersistenceunits/model/annotation/user/User.java b/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/multiplepersistenceunits/model/annotation/user/User.java
index 833bc4bc007e2..5071e3a692150 100644
--- a/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/multiplepersistenceunits/model/annotation/user/User.java
+++ b/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/multiplepersistenceunits/model/annotation/user/User.java
@@ -4,8 +4,10 @@
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
+import javax.persistence.Table;
@Entity
+@Table(name = "User_")
public class User {
private long id;
diff --git a/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/multiplepersistenceunits/model/config/user/User.java b/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/multiplepersistenceunits/model/config/user/User.java
index bc14b159e90ed..97689aadcf801 100644
--- a/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/multiplepersistenceunits/model/config/user/User.java
+++ b/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/multiplepersistenceunits/model/config/user/User.java
@@ -4,8 +4,10 @@
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
+import javax.persistence.Table;
@Entity
+@Table(name = "User_")
public class User {
private long id;
diff --git a/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/publicfields/PublicFieldAccessAssociationsTest.java b/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/publicfields/PublicFieldAccessAssociationsTest.java
index 47899dee9a8fe..d1501dcf4903c 100644
--- a/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/publicfields/PublicFieldAccessAssociationsTest.java
+++ b/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/publicfields/PublicFieldAccessAssociationsTest.java
@@ -6,6 +6,7 @@
import java.util.List;
import javax.inject.Inject;
+import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityManager;
import javax.persistence.GeneratedValue;
@@ -157,6 +158,7 @@ public static class ContainedEntity {
@GeneratedValue
public long id;
+ @Column(name = "value_")
public String value;
@OneToOne
diff --git a/extensions/jdbc/jdbc-h2/deployment/src/main/java/io/quarkus/jdbc/h2/deployment/JDBCH2Processor.java b/extensions/jdbc/jdbc-h2/deployment/src/main/java/io/quarkus/jdbc/h2/deployment/JDBCH2Processor.java
index 6b942aa719835..1f4d7239cf22f 100644
--- a/extensions/jdbc/jdbc-h2/deployment/src/main/java/io/quarkus/jdbc/h2/deployment/JDBCH2Processor.java
+++ b/extensions/jdbc/jdbc-h2/deployment/src/main/java/io/quarkus/jdbc/h2/deployment/JDBCH2Processor.java
@@ -13,6 +13,7 @@
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.builditem.FeatureBuildItem;
import io.quarkus.deployment.builditem.SslNativeConfigBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
import io.quarkus.jdbc.h2.runtime.H2AgroalConnectionConfigurer;
public class JDBCH2Processor {
@@ -49,4 +50,9 @@ void configureAgroalConnection(BuildProducer additional
void registerDefaultDbType(BuildProducer dbKind) {
dbKind.produce(new DefaultDataSourceDbKindBuildItem(DatabaseKind.H2));
}
+
+ @BuildStep
+ void runtimeInitializedClasses(BuildProducer runtimeInitializedClasses) {
+ runtimeInitializedClasses.produce(new RuntimeInitializedClassBuildItem("org.h2.store.fs.niomem.FileNioMemData"));
+ }
}
diff --git a/extensions/jdbc/jdbc-h2/runtime/pom.xml b/extensions/jdbc/jdbc-h2/runtime/pom.xml
index 2d9da9183b185..a0681c7c207e3 100644
--- a/extensions/jdbc/jdbc-h2/runtime/pom.xml
+++ b/extensions/jdbc/jdbc-h2/runtime/pom.xml
@@ -24,7 +24,7 @@
org.locationtech.jts
jts-core
- 1.15.0
+ 1.17.0
1.13.0
@@ -526,6 +528,8 @@
${postgres.url}
hibernate_orm_test
hibernate_orm_test
+
+ org.hibernate.dialect.PostgreSQL10Dialect
diff --git a/integration-tests/main/src/main/resources/META-INF/persistence.xml b/integration-tests/main/src/main/resources/META-INF/persistence.xml
index 956cee5c6cbaf..843270ea08740 100644
--- a/integration-tests/main/src/main/resources/META-INF/persistence.xml
+++ b/integration-tests/main/src/main/resources/META-INF/persistence.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/integration-tests/spring-data-jpa/src/main/java/io/quarkus/it/spring/data/jpa/CatalogValue.java b/integration-tests/spring-data-jpa/src/main/java/io/quarkus/it/spring/data/jpa/CatalogValue.java
index b813292c0494f..dd80005feeafe 100644
--- a/integration-tests/spring-data-jpa/src/main/java/io/quarkus/it/spring/data/jpa/CatalogValue.java
+++ b/integration-tests/spring-data-jpa/src/main/java/io/quarkus/it/spring/data/jpa/CatalogValue.java
@@ -1,5 +1,6 @@
package io.quarkus.it.spring.data.jpa;
+import javax.persistence.Column;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.Entity;
import javax.persistence.Inheritance;
@@ -10,6 +11,7 @@
@DiscriminatorColumn(name = "type")
public class CatalogValue extends AbstractEntity {
+ @Column(name = "key_")
private String key;
private String displayName;
diff --git a/integration-tests/spring-data-jpa/src/main/resources/import.sql b/integration-tests/spring-data-jpa/src/main/resources/import.sql
index fb21121789cec..6fce9bd2a3b34 100644
--- a/integration-tests/spring-data-jpa/src/main/resources/import.sql
+++ b/integration-tests/spring-data-jpa/src/main/resources/import.sql
@@ -87,7 +87,7 @@ INSERT INTO MotorCar(id, brand, model) VALUES (1, 'Monteverdi', 'Hai 450');
INSERT INTO MotorCar(id, brand, model) VALUES (2, 'Rinspeed', 'iChange');
INSERT INTO MotorCar(id, brand, model) VALUES (3, 'Rinspeed', 'Oasis');
-INSERT INTO CatalogValue(id, key, displayName, type) VALUES (1, 'DE-BY', 'Bavaria', 'federalState');
-INSERT INTO CatalogValue(id, key, displayName, type) VALUES (2, 'DE-SN', 'Saxony', 'federalState');
-INSERT INTO CatalogValue(id, key, displayName, type) VALUES (3, 'DE', 'Germany', 'country');
-INSERT INTO CatalogValue(id, key, displayName, type) VALUES (4, 'FR', 'France', 'country');
+INSERT INTO CatalogValue(id, key_, displayName, type) VALUES (1, 'DE-BY', 'Bavaria', 'federalState');
+INSERT INTO CatalogValue(id, key_, displayName, type) VALUES (2, 'DE-SN', 'Saxony', 'federalState');
+INSERT INTO CatalogValue(id, key_, displayName, type) VALUES (3, 'DE', 'Germany', 'country');
+INSERT INTO CatalogValue(id, key_, displayName, type) VALUES (4, 'FR', 'France', 'country');
diff --git a/test-framework/h2/src/main/java/io/quarkus/test/h2/H2DatabaseTestResource.java b/test-framework/h2/src/main/java/io/quarkus/test/h2/H2DatabaseTestResource.java
index 85841c3d03f09..10749366b1824 100644
--- a/test-framework/h2/src/main/java/io/quarkus/test/h2/H2DatabaseTestResource.java
+++ b/test-framework/h2/src/main/java/io/quarkus/test/h2/H2DatabaseTestResource.java
@@ -16,7 +16,7 @@ public class H2DatabaseTestResource implements QuarkusTestResourceLifecycleManag
public Map start() {
try {
- tcpServer = Server.createTcpServer();
+ tcpServer = Server.createTcpServer("-ifNotExists");
tcpServer.start();
System.out.println("[INFO] H2 database started in TCP server mode; server status: " + tcpServer.getStatus());
} catch (SQLException e) {