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) {