typedQuery = em.createNamedQuery(
- "get_person_by_name", Person.class);
- typedQuery.setParameter("name", "Quarkus");
- final Person singleResult = typedQuery.getSingleResult();
-
- if (!singleResult.getName().equals("Quarkus")) {
- throw new RuntimeException("Wrong result from named JPA query");
- }
- });
-
- //Check that HQL fetch does not fail
- QuarkusTransaction.requiringNew()
- .run(() -> em.createQuery("from Person p left join fetch p.address a").getResultList());
-
- cleanUpData();
-
- return "OK";
- }
-
- private void cleanUpData() {
- QuarkusTransaction.requiringNew()
- .run(() -> em.createNativeQuery("Delete from Person").executeUpdate());
- }
-
- private void persistNewPerson(String name) {
- Person person = new Person();
- person.setName(name);
- person.setAddress(new SequencedAddress("Street " + randomName()));
- em.persist(person);
- }
-
- private static String randomName() {
- return UUID.randomUUID().toString();
- }
-
-}
diff --git a/integration-tests/jpa-derby/src/main/java/io/quarkus/it/jpa/derby/Person.java b/integration-tests/jpa-derby/src/main/java/io/quarkus/it/jpa/derby/Person.java
deleted file mode 100644
index 89b009ddee04b..0000000000000
--- a/integration-tests/jpa-derby/src/main/java/io/quarkus/it/jpa/derby/Person.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package io.quarkus.it.jpa.derby;
-
-import java.util.UUID;
-
-import jakarta.persistence.CascadeType;
-import jakarta.persistence.Entity;
-import jakarta.persistence.FetchType;
-import jakarta.persistence.GeneratedValue;
-import jakarta.persistence.Id;
-import jakarta.persistence.ManyToOne;
-import jakarta.persistence.NamedQuery;
-
-import org.hibernate.annotations.GenericGenerator;
-
-@Entity
-@NamedQuery(name = "get_person_by_name", query = "select p from Person p where name = :name")
-public class Person {
-
- private UUID id;
- private String name;
- private SequencedAddress address;
-
- public Person() {
- }
-
- public Person(UUID id, String name, SequencedAddress address) {
- this.id = id;
- this.name = name;
- this.address = address;
- }
-
- @Id
- @GeneratedValue(generator = "UUID")
- @GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator")
- public UUID getId() {
- return id;
- }
-
- public void setId(UUID id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
- public SequencedAddress getAddress() {
- return address;
- }
-
- public void setAddress(SequencedAddress address) {
- this.address = address;
- }
-
- public void describeFully(StringBuilder sb) {
- sb.append("Person with id=").append(id).append(", name='").append(name).append("', address { ");
- getAddress().describeFully(sb);
- sb.append(" }");
- }
-}
diff --git a/integration-tests/jpa-derby/src/main/java/io/quarkus/it/jpa/derby/SequencedAddress.java b/integration-tests/jpa-derby/src/main/java/io/quarkus/it/jpa/derby/SequencedAddress.java
deleted file mode 100644
index 739fffd256b69..0000000000000
--- a/integration-tests/jpa-derby/src/main/java/io/quarkus/it/jpa/derby/SequencedAddress.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package io.quarkus.it.jpa.derby;
-
-import jakarta.persistence.Entity;
-import jakarta.persistence.GeneratedValue;
-import jakarta.persistence.GenerationType;
-import jakarta.persistence.Id;
-
-@Entity
-public class SequencedAddress {
-
- private long id;
- private String street;
-
- public SequencedAddress() {
- }
-
- public SequencedAddress(String street) {
- this.street = street;
- }
-
- @Id
- @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "addressSeq")
- public long getId() {
- return id;
- }
-
- public void setId(long id) {
- this.id = id;
- }
-
- public String getStreet() {
- return street;
- }
-
- public void setStreet(String name) {
- this.street = name;
- }
-
- public void describeFully(StringBuilder sb) {
- sb.append("Address with id=").append(id).append(", street='").append(street).append("'");
- }
-}
diff --git a/integration-tests/jpa-derby/src/main/resources/application.properties b/integration-tests/jpa-derby/src/main/resources/application.properties
deleted file mode 100644
index 7726a4c797e19..0000000000000
--- a/integration-tests/jpa-derby/src/main/resources/application.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-quarkus.datasource.db-kind=derby
-quarkus.datasource.jdbc.url=jdbc:derby://localhost:1527/memory:testDB;create=true
-quarkus.datasource.jdbc.max-size=8
-quarkus.hibernate-orm.schema-management.strategy=drop-and-create
diff --git a/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/HibernateOrmNoWarningsTest.java b/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/HibernateOrmNoWarningsTest.java
deleted file mode 100644
index 4d61663dd21ee..0000000000000
--- a/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/HibernateOrmNoWarningsTest.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package io.quarkus.it.jpa.derby;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-import org.junit.jupiter.api.Test;
-
-import io.quarkus.test.LogCollectingTestResource;
-import io.quarkus.test.common.QuarkusTestResource;
-import io.quarkus.test.common.ResourceArg;
-import io.quarkus.test.junit.QuarkusTest;
-
-/**
- * Tests that Hibernate ORM does not log any warning on startup with this particular database.
- *
- * In particular, this checks that there are no warnings related to the use of a deprecated dialect
- * or a database version that is not supported by the dialect.
- *
- * Note LogCollectingTestResource cannot be used in native mode,
- * hence the lack of a corresponding native mode test.
- */
-@QuarkusTest
-@QuarkusTestResource(value = LogCollectingTestResource.class, restrictToAnnotatedClass = true, initArgs = {
- @ResourceArg(name = LogCollectingTestResource.LEVEL, value = "WARNING"),
- @ResourceArg(name = LogCollectingTestResource.INCLUDE, value = "org\\.hibernate\\..*"),
- // Ignore logs about schema management:
- // they are unfortunate (https://github.com/quarkusio/quarkus/issues/16204)
- // but for now we have to live with them.
- @ResourceArg(name = LogCollectingTestResource.EXCLUDE, value = "org\\.hibernate\\.tool\\.schema.*")
-})
-public class HibernateOrmNoWarningsTest {
- @Test
- public void testNoWarningsOnStartup() {
- assertThat(LogCollectingTestResource.current().getRecords())
- // There shouldn't be any warning or error
- .as("Startup logs (warning or higher)")
- .extracting(LogCollectingTestResource::format)
- .isEmpty();
- }
-}
diff --git a/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/JPAFunctionalityInGraalITCase.java b/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/JPAFunctionalityInGraalITCase.java
deleted file mode 100644
index cb8091e2fd275..0000000000000
--- a/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/JPAFunctionalityInGraalITCase.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package io.quarkus.it.jpa.derby;
-
-import io.quarkus.test.junit.QuarkusIntegrationTest;
-
-/**
- * Test various JPA operations running in native mode
- */
-@QuarkusIntegrationTest
-public class JPAFunctionalityInGraalITCase extends JPAFunctionalityTest {
-
-}
diff --git a/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/JPAFunctionalityTest.java b/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/JPAFunctionalityTest.java
deleted file mode 100644
index 1feb4ce16be93..0000000000000
--- a/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/JPAFunctionalityTest.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package io.quarkus.it.jpa.derby;
-
-import static org.hamcrest.Matchers.is;
-
-import org.junit.jupiter.api.Test;
-
-import io.quarkus.test.junit.QuarkusTest;
-import io.restassured.RestAssured;
-
-/**
- * Test connecting Hibernate ORM to Derby.
- */
-@QuarkusTest
-public class JPAFunctionalityTest {
-
- @Test
- public void testJPAFunctionalityFromServlet() throws Exception {
- RestAssured.when().get("/jpa-derby/testfunctionality").then().body(is("OK"));
- }
-
-}
diff --git a/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/TestResources.java b/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/TestResources.java
deleted file mode 100644
index dc9ff6d8de8fe..0000000000000
--- a/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/TestResources.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package io.quarkus.it.jpa.derby;
-
-import io.quarkus.test.common.QuarkusTestResource;
-import io.quarkus.test.derby.DerbyDatabaseTestResource;
-
-@QuarkusTestResource(DerbyDatabaseTestResource.class)
-public class TestResources {
-}
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index dbf3eaeefc8d2..6e1920f2f8b0a 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -193,7 +193,6 @@
jpa
jpa-mapping-xml
jpa-db2
- jpa-derby
jpa-postgresql
jpa-postgresql-withxml
jpa-mariadb
diff --git a/test-framework/derby/pom.xml b/test-framework/derby/pom.xml
deleted file mode 100644
index 566cfbdb19f8d..0000000000000
--- a/test-framework/derby/pom.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
- 4.0.0
-
-
- io.quarkus
- quarkus-test-framework
- 999-SNAPSHOT
-
-
- quarkus-test-derby
- Quarkus - Test Framework - Derby Database Support
-
-
- io.quarkus
- quarkus-test-common
-
-
- org.apache.derby
- derbynet
-
-
- org.apache.derby
- derbytools
-
-
-
-
diff --git a/test-framework/derby/src/main/java/io/quarkus/test/derby/DerbyDatabaseTestResource.java b/test-framework/derby/src/main/java/io/quarkus/test/derby/DerbyDatabaseTestResource.java
deleted file mode 100644
index a522625a29183..0000000000000
--- a/test-framework/derby/src/main/java/io/quarkus/test/derby/DerbyDatabaseTestResource.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package io.quarkus.test.derby;
-
-import java.io.PrintWriter;
-import java.util.Collections;
-import java.util.Map;
-
-import org.apache.derby.drda.NetworkServerControl;
-
-import io.quarkus.test.common.QuarkusTestResourceLifecycleManager;
-
-public class DerbyDatabaseTestResource implements QuarkusTestResourceLifecycleManager {
-
- static final int NUMBER_OF_PINGS = 10;
- static final int SLEEP_BETWEEN_PINGS = 500;
-
- @Override
- public Map start() {
- try {
- NetworkServerControl server = new NetworkServerControl();
- server.start(new PrintWriter(System.out));
- for (int i = 1; i <= NUMBER_OF_PINGS; i++) {
- try {
- System.out.println("[INFO] Attempt " + i + " to see if Derby Network server started");
- server.ping();
- break;
- } catch (Exception ex) {
- if (i == NUMBER_OF_PINGS) {
- System.out.println("Derby Network server failed to start");
- ex.printStackTrace();
- throw ex;
- }
- try {
- Thread.sleep(SLEEP_BETWEEN_PINGS);
- } catch (InterruptedException ignore) {
- }
- }
- }
- System.out.println("[INFO] Derby database started in TCP server mode");
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- return Collections.emptyMap();
- }
-
- @Override
- public void stop() {
- try {
- NetworkServerControl server = new NetworkServerControl();
- server.shutdown();
- System.out.println("[INFO] Derby database was shut down");
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-}
diff --git a/test-framework/pom.xml b/test-framework/pom.xml
index 15092a6c30d42..567cff9cfd3a6 100644
--- a/test-framework/pom.xml
+++ b/test-framework/pom.xml
@@ -18,7 +18,6 @@
common
h2
grpc
- derby
kubernetes-client
junit5-config
junit5-internal