diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
new file mode 100644
index 000000000..20dd84a5d
--- /dev/null
+++ b/.github/workflows/build.yaml
@@ -0,0 +1,27 @@
+name: CI Build
+
+on:
+ push:
+ branches: [ main ]
+
+jobs:
+ build:
+ name: Build project
+ runs-on: ubuntu-latest
+
+ steps:
+
+ - name: Check out sources
+ uses: actions/checkout@v4
+
+ - name: Set up JDK 17
+ uses: actions/setup-java@v4
+ with:
+ distribution: 'temurin'
+ java-version: 17
+ cache: 'maven'
+
+ - name: Build with Maven
+ env:
+ DEVELOCITY_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }}
+ run: ./mvnw clean verify -B -Pci
diff --git a/.gitignore b/.gitignore
index fd2270241..7cc5f4de1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,10 @@
.project
.classpath
.springBeans
+.develocity/
.settings/
target/
+.mvn/.gradle-enterprise
#IntelliJ Stuff
.idea
diff --git a/.mvn/extensions.xml b/.mvn/extensions.xml
new file mode 100644
index 000000000..1e3bb355f
--- /dev/null
+++ b/.mvn/extensions.xml
@@ -0,0 +1,8 @@
+
+
+
+ io.spring.develocity.conventions
+ develocity-conventions-maven-extension
+ 0.0.19
+
+
diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar
new file mode 100644
index 000000000..c1dd12f17
Binary files /dev/null and b/.mvn/wrapper/maven-wrapper.jar differ
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
new file mode 100644
index 000000000..b7cb93e70
--- /dev/null
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -0,0 +1,2 @@
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip
+wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
diff --git a/README.md b/README.adoc
similarity index 56%
rename from README.md
rename to README.adoc
index b6671009f..43d26ddbd 100644
--- a/README.md
+++ b/README.adoc
@@ -1,105 +1,101 @@
-# Spring Data Examples
+= Spring Data Examples image:https://img.shields.io/badge/Revved%20up%20by-Develocity-06A0CE?logo=Gradle&labelColor=02303A["Revved up by Develocity", link="https://ge.spring.io/scans?search.rootProjectNames=Spring%20Data%20-%20Examples"]
-[](https://travis-ci.org/spring-projects/spring-data-examples)
+image:https://travis-ci.org/spring-projects/spring-data-examples.svg?branch=main[Build Status,link=https://travis-ci.org/spring-projects/spring-data-examples]
This repository contains example projects for the different Spring Data modules to showcase the API and how to use the features provided by the modules.
We have separate folders for the samples of individual modules:
-## Spring Data for Apache Cassandra
+== Spring Data for Apache Cassandra
* `example` - Shows core Spring Data support for Apache Cassandra.
* `kotlin` - Example for using Cassandra with Kotlin.
* `reactive` - Example project to show reactive template and repository support.
-## Spring Data Elasticsearch
+== Spring Data Elasticsearch
* `example` - Example how to use basic text search, geo-spatial search and facets. It uses
- the High Level REST Client backing template and repository.
+ the High Level REST Client backing template and repository.
* `reactive` - Example how to use reactive client, template and repository features.
Local Elasticsearch instance must be running to run the tests.
-## Spring Data for Apache Geode
-
-* `events` - In this example the test will make use of event handlers and async event
- queue to handle events.
-* `expiration-eviction` - In these examples the server is configured to delete entries
- after a certain idle period or after a Time-To-Live period (expiration0 or remove data
- from memory when certain thresholds are reached (eviction).
-* `function-invocation` - In this example the server will have 3 functions registered. The
- client will invoke each of the functions.
-* `queries` - In this example a client will query the data in various ways using OQl,
- continuous queries, and Apache Lucene indexes.
-* `security` - In this example the servers and clients are set up with security (
- username/password) authentication using Geode Security and Apache Shiro.
-* `storage` - In this example the server is configured to store data off of hte JVM heap
- using the `@EnableOffHeap` annotation and to compress region data using
- SnappyCompressor`.
-* `transactions` - In this example the client will perform operations within a
- transaction. First, it will do a successful transaction where entries are saved to the
- server, and then a failed transaction where all changes are reverted.
-* `wan` - In these example two servers are deployed. One server populates itself with data, and the other server gets populated with that data via WAN replication.
-
-## Spring Data JDBC
+== Spring Data JDBC
* `basic` - Basic usage of Spring Data JDBC.
+* `graalvm-native` - This example compiles a basic Spring Data JDBC application into a GraalVM native image.
+* `howto` - A collection of projects to go with the https://spring.io/blog/2021/09/09/spring-data-jdbc-how-to-use-custom-id-generation[Spring Data JDBC - How to blog posts].
* `immutables` - Showing Spring Data JDBC usage
- with [Immutables](https://immutables.github.io/)
-
-## Spring Data JPA
-
-* `eclipselink` - Sample project to show how to use Spring Data JPA with Spring Boot and [Eclipselink](https://www.eclipse.org/eclipselink/).
-* `example` - Probably the project you want to have a look at first. Contains a variety of sample packages, showcasing the different levels at which you can use Spring Data JPA. Have a look at the `simple` package for the most basic setup.
+ with https://immutables.github.io/[Immutables]
+* `jmolecules` - Demonstrates the interaction of jMolecules with Spring Data JDBC.
+* `jooq` - Demonstrates how to use jOOQ and Spring Data JDBC together.
+* `mybatis` - Demonstrate how to use MyBatis to generate SQL for Spring Data JDBC.
+* `singlequeryloading` - Demonstrates how to enable Single Query Loading.
+
+== Spring Data JPA
+
+* `eclipselink` - Sample project to show how to use Spring Data JPA with Spring Boot and https://www.eclipse.org/eclipselink/[Eclipselink].
+* `example` - Probably the project you want to have a look at first.
+Contains a variety of sample packages, showcasing the different levels at which you can use Spring Data JPA.
+Have a look at the `simple` package for the most basic setup.
+Contains also examples running on Virtual Threads.
* `interceptors` - Example of how to enrich the repositories with AOP.
* `jpa21` - Shows support for JPA 2.1 specific features (stored procedures support).
* `multiple-datasources` - Examples of how to use Spring Data JPA with multiple `DataSource`s.
* `query-by-example` - Example project showing usage of Query by Example with Spring Data JPA.
* `security` - Example of how to integrate Spring Data JPA Repositories with Spring Security.
-* `showcase` - Refactoring show case of how to improve a plain-JPA-based persistence layer by using Spring Data JPA (read: removing close to all of the implementation code). Follow the `demo.txt` file for detailed instructions.
-* `vavr` - Shows the support of [Vavr](https://www.vavr.io) collection types as return types for query methods.
+* `showcase` - Refactoring show case of how to improve a plain-JPA-based persistence layer by using Spring Data JPA (read: removing close to all of the implementation code).Follow the `demo.txt` file for detailed instructions.
+* `vavr` - Shows the support of https://www.vavr.io[Vavr] collection types as return types for query methods.
-## Spring Data LDAP
+== Spring Data LDAP
* `example` - Sample for Spring Data repositories to access an LDAP store.
-## Spring Data MongoDB
+== Spring Data MongoDB
* `aggregation` - Example project to showcase the MongoDB aggregation framework support.
* `example` - Example project for general repository functionality (including geo-spatial functionality), Querydsl integration and advanced topics.
* `fluent-api` - Example project to show the new fluent API (`MongoTemplate`-alternative) to interact with MongoDB.
-* `geo-json` - Example project showing usage of [GeoJSON](http://geojson.org) with MongoDB.
+* `geo-json` - Example project showing usage of http://geojson.org[GeoJSON] with MongoDB.
* `gridfs` - Example project showing usage of gridFS with MongoDB.
* `jmolecules` - Example of Spring Data MongoDB working with a jMolecules based domain model.
-* `kotlin` - Example for using [Kotlin](https://kotlinlang.org/) with MongoDB.
+* `kotlin` - Example for using https://kotlinlang.org/[Kotlin] with MongoDB.
+* `linking` - Example demonstrating possibilities for linking documents.
* `query-by-example` - Example project showing usage of Query by Example with MongoDB.
-* `querydsl` - Example project showing imperative and reactive [Querydsl](https://github.com/querydsl/querydsl) support for MongoDB.
+* `querydsl` - Example project showing imperative and reactive https://github.com/querydsl/querydsl[Querydsl] support for MongoDB.
* `reactive` - Example project to show reactive template and repository support.
* `repository-metrics` - Example project to show how to collect repository method invocation metrics.
* `security` - Example project showing usage of Spring Security with MongoDB.
* `text-search` - Example project showing usage of MongoDB text search feature.
* `transactions` - Example project for imperative and reactive MongoDB 4.0 transaction support.
-## Spring Data Neo4j
+== Spring Data Neo4j
* `example` - Example to show basic node and relationship entities and repository usage.
-## Spring Data R2DBC
+== Spring Data R2DBC
* `example` - Basic usage of Spring Data R2DBC.
-## Spring Data Redis
+== Spring Data Redis
* `cluster` - Example for Redis Cluster support.
* `example` - Example for basic Spring Data Redis setup.
+* `pubsub` - Example project to show Pub/Sub usage using Platform and Virtual Threads.
* `reactive` - Example project to show reactive template support.
* `repositories` - Example demonstrating Spring Data repository abstraction on top of Redis.
* `sentinel` - Example for Redis Sentinel support.
-* `streams` - Example for [Redis Streams](https://redis.io/topics/streams-intro) support.
+* `streams` - Example for https://redis.io/topics/streams-intro[Redis Streams] support.
+
+Local Redis instances must be running to run the tests. One option is to use Docker in a separate terminal:
+
+```
+$ docker run -p 6379:6379 redis:5.0
+```
-Local Redis instances must be running to run the tests.
+WARNING: If you're done using it, don't forget to shut it down!
-## Spring Data REST
+== Spring Data REST
* `headers` - A sample showing the population of HTTP headers and the usage of them to perform conditional `GET` requests.
* `multi-store` - A sample REST web-service based on both Spring Data JPA and Spring Data MongoDB.
@@ -108,27 +104,27 @@ Local Redis instances must be running to run the tests.
* `starbucks` - A sample REST web-service built with Spring Data REST and MongoDB.
* `uri-customizations` - Example project to show URI customization capabilities.
-## Spring Data web support
+== Spring Data web support
* `projections` - Example for Spring Data web support for JSONPath and XPath expressions on projection interfaces.
* `querydsl` - Example for Spring Data Querydsl web integration (creating a `Predicate` from web requests).
* `web` - Example for Spring Data web integration (binding `Pageable` instances to Spring MVC controller methods, using interfaces to bind Spring MVC request payloads).
-## Miscellaneous
+== Miscellaneous
-* `bom` - Example project how to use the Spring Data release train bom in non-Spring-Boot
- scenarios.
+* `mongodb/fragment-spi` - Example project how to use Spring Data Fragment SPI to provide reusable custom extensions.
+* `bom` - Example project how to use the Spring Data release train bom in non-Spring-Boot scenarios.
* `map` - Example project to show how to use `Map`-backed repositories.
* `multi-store` - Example project to use both Spring Data MongoDB and Spring Data JPA in
- one project.
+ one project.
-## Note
+== Note
-* The example projects make use of the [Lombok](https://projectlombok.org/) plugin. To get
- proper code navigation in your IDE, you must install it separately. Lombok is available
- in the IntelliJ plugins repository and as
- a [download](https://projectlombok.org/download) for Eclipse-based IDEs.
+* The example projects make use of the https://projectlombok.org/[Lombok] plugin. To get
+ proper code navigation in your IDE, you must install it separately. Lombok is available
+ in the IntelliJ plugins repository and as
+ a https://projectlombok.org/download[download] for Eclipse-based IDEs.
* The code makes use of Java 16 language features therefore you need Java 16 or newer to
- run and compile the examples.
+ run and compile the examples.
* Most store modules examples start their database via Testcontainers or as
- embedded/in-memory server unless stated otherwise.
+ embedded/in-memory server unless stated otherwise.
diff --git a/bom/README.adoc b/bom/README.adoc
index 7e0f32ebc..439130629 100644
--- a/bom/README.adoc
+++ b/bom/README.adoc
@@ -19,11 +19,11 @@ The `` section declares dependencies to the BOMs for bot
The standard `` section can now list Spring Framework and Spring Data dependencies without declaring a version and still be sure all libraries are in matching versions.
-Note, that we don't declare a Spring Framework dependency here. The import of the Spring Framework BOM nonetheless makes sure we control the version of all transitive Spring Framework dependencies pulled in by the Spring Data modules.
+Note that we do not declare a Spring Framework dependency here. The import of the Spring Framework BOM nonetheless makes sure we control the version of all transitive Spring Framework dependencies pulled in by the Spring Data modules.
== Gradle
-Gradle does not support Maven BOMs (Bill of Materials) out of the box, so the first thing to do is important the
+Gradle does not support Maven BOMs (Bill of Materials) out of the box, so the first thing to do is to import the
https://github.com/spring-gradle-plugins/dependency-management-plugin[dependency management plugin]. This example is based on Java,
but if you need a different language plugin (e.g. Kotlin), you can do so.
@@ -32,5 +32,5 @@ The `dependencyManagement` section can be used to import the Spring Framework BO
The standard `dependencies` section can now list Spring and Spring Data dependencies without declaring a version and still
be sure all libraries are align with each other.
-Note how you don't declare a Spring Framework dependency. Nevertheless, the dependency management plugin and the Spring Framework BOM
+Note how you do not declare a Spring Framework dependency. Nevertheless, the dependency management plugin and the Spring Framework BOM
ensures you control the version of all transitive Spring Framework dependencies pulled in by Spring Data.
diff --git a/bom/pom.xml b/bom/pom.xml
index d490c66f0..441c4d4f2 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -4,13 +4,13 @@
org.springframework.data.examplesspring-data-examples-bom
- 1.0.0.BUILD-SNAPSHOT
+ 1.0.0-SNAPSHOTSpring Data - Using the BOM for dependency management
- 5.3.9
- 2021.0.4
+ 7.0.0-M9
+ 2025.1.0-M6
@@ -50,4 +50,27 @@
+
+
+
+
+ com.gradle
+ develocity-maven-extension
+
+
+
+
+ maven-surefire-plugin
+
+ these tests showcase Spring Data features and should always rerun
+
+
+
+
+
+
+
+
+
+
diff --git a/cassandra/aot-optimization/README.adoc b/cassandra/aot-optimization/README.adoc
new file mode 100644
index 000000000..107d8743d
--- /dev/null
+++ b/cassandra/aot-optimization/README.adoc
@@ -0,0 +1,94 @@
+= Spring Data Cassandra - Ahead of Time Repository Optimization Example
+
+The project shows the usage of AOT Repositories.
+Ahead of Time Repositories implement query methods through code contribution and allow for debugging queries during runtime.
+Additionally, AOT repositories improve startup time and reduce memory consumption because AOT optimized query methods do not require reflective introspection.
+Each AOT repository is documented with a JSON file that describes the queries implemented by the repository.
+
+== Using AOT Repositories
+
+Repository AOT processing is enabled by default when using Spring Boot's AOT processing (see `pom.xml` for `spring-boot-maven-plugin` usage).
+AOT processing generates AOT artifacts to `target/spring-aot` and through the regular build.
+When using the JVM mode (not Graal Native Images), then you need to enable AOT mode on the JVM when running your application through `-Dspring.aot.enabled=true`.
+
+[source,bash]
+----
+$ mvn clean package
+$ java -Dspring.aot.enabled=true -jar target/spring-data-cassandra-aot-optimization-4.0.0-SNAPSHOT.jar
+----
+
+You can find more details about AOT processing in the https://docs.spring.io/spring-data/cassandra/reference/5.0/cassandra/repositories/aot.html#aot.repositories[Spring Data Cassandra Reference Documentation].
+
+== AOT Repository
+
+**`UserRepositoryImpl__AotRepository`**
+
+Excerpt from: `target/spring-aot/main/sources/example/springdata/cassandra/UserRepositoryImpl__AotRepository.java`
+
+[source,java]
+----
+@Generated
+public class UserRepositoryImpl__AotRepository extends AotRepositoryFragmentSupport {
+ private final CassandraOperations operations;
+
+ public UserRepositoryImpl__AotRepository(CassandraOperations operations,
+ RepositoryFactoryBeanSupport.FragmentCreationContext context) {
+ // …
+ }
+
+ public User findUserByIdIn(long id) {
+ Object[] args = new Object[1];
+ args[0] = potentiallyConvertBindingValue(id);
+ SimpleStatement query = SimpleStatement.newInstance("SELECT * from users where user_id in(?)", args);
+
+ ExecutableSelectOperation.TerminatingResults select = operations.query(query).as(User.class);
+ return select.oneValue();
+ }
+
+ public User findUserByUsername(String username) {
+ Query query = Query.query(Criteria.where("username").is(username));
+
+ ExecutableSelectOperation.TerminatingSelect select = operations.query(User.class).matching(query);
+ return select.oneValue();
+ }
+}
+----
+
+== Metadata
+
+**`UserRepository.json`**
+
+Excerpt from: `target/spring-aot/main/resources/example/springdata/cassandra/UserRepository.json`
+
+[source,json]
+----
+{
+ "name": "example.springdata.cassandra.UserRepository",
+ "module": "Cassandra",
+ "type": "IMPERATIVE",
+ "methods": [
+ {
+ "name": "findUserByIdIn",
+ "signature": "public abstract example.springdata.cassandra.User example.springdata.cassandra.UserRepository.findUserByIdIn(long)",
+ "query": {
+ "query": "SELECT * from users where user_id in(?)"
+ }
+ },
+ {
+ "name": "findUserByUsername",
+ "signature": "public abstract example.springdata.cassandra.User example.springdata.cassandra.UserRepository.findUserByUsername(java.lang.String)",
+ "query": {
+ "query": "SELECT * FROM users WHERE uname=?"
+ }
+ },
+ {
+ "name": "save",
+ "signature": "org.springframework.data.cassandra.repository.support.SimpleCassandraRepository",
+ "fragment": {
+ "interface": "org.springframework.data.cassandra.repository.support.SimpleCassandraRepository",
+ "fragment": "org.springframework.data.cassandra.repository.support.SimpleCassandraRepository"
+ }
+ }
+ ]
+}
+----
diff --git a/cassandra/aot-optimization/pom.xml b/cassandra/aot-optimization/pom.xml
new file mode 100644
index 000000000..11cedb307
--- /dev/null
+++ b/cassandra/aot-optimization/pom.xml
@@ -0,0 +1,49 @@
+
+ 4.0.0
+
+
+ org.springframework.data.examples
+ spring-data-cassandra-examples
+ 4.0.0-SNAPSHOT
+
+
+ spring-data-cassandra-aot-optimization
+ Spring Data Cassandra - AOT Optimization Example
+
+
+
+
+ ${project.groupId}
+ spring-data-cassandra-example-utils
+ ${project.version}
+ test
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ process-aot
+
+ process-aot
+
+
+
+
+
+
+
+
diff --git a/cassandra/aot-optimization/src/main/java/example/springdata/cassandra/Address.java b/cassandra/aot-optimization/src/main/java/example/springdata/cassandra/Address.java
new file mode 100644
index 000000000..4ae619ac8
--- /dev/null
+++ b/cassandra/aot-optimization/src/main/java/example/springdata/cassandra/Address.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.cassandra;
+
+import org.springframework.data.cassandra.core.mapping.UserDefinedType;
+
+/**
+ * @author Mark Paluch
+ */
+@UserDefinedType
+public record Address(String street, String zip, String city) {
+
+}
diff --git a/cassandra/aot-optimization/src/main/java/example/springdata/cassandra/AotApplication.java b/cassandra/aot-optimization/src/main/java/example/springdata/cassandra/AotApplication.java
new file mode 100644
index 000000000..bd0cb3add
--- /dev/null
+++ b/cassandra/aot-optimization/src/main/java/example/springdata/cassandra/AotApplication.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.cassandra;
+
+import java.util.Collections;
+
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Bean;
+import org.springframework.data.cassandra.core.CassandraOperations;
+import org.springframework.data.domain.Limit;
+
+/**
+ * Basic Spring Boot application.
+ *
+ * @author Mark Paluch
+ */
+@SpringBootApplication
+public class AotApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(AotApplication.class, args);
+ }
+
+ @Bean
+ CommandLineRunner commandLineRunner(UserRepository repository, CassandraOperations operations)
+ throws InterruptedException {
+
+ operations.getCqlOperations().execute("CREATE INDEX IF NOT EXISTS user_username ON users (uname);");
+ operations.getCqlOperations().execute(
+ "CREATE CUSTOM INDEX IF NOT EXISTS users_lname_idx_1 ON users (lname) USING 'org.apache.cassandra.index.sasi.SASIIndex';");
+
+ /*
+ Cassandra secondary indexes are created in the background without the possibility to check
+ whether they are available or not. So we are forced to just wait. *sigh*
+ */
+ Thread.sleep(1000);
+
+ return args -> {
+
+ User user = new User();
+ user.setId(42L);
+ user.setUsername("heisenberg");
+ user.setFirstname("Walter");
+ user.setLastname("White");
+
+ user.setCurrent(new Address("308 Negra Arroyo Lane", "87104", "Albuquerque"));
+ user.setPrevious(Collections.singletonList(new Address("12000 – 12100 Coors Rd SW", "87045", "Albuquerque")));
+
+ repository.save(user);
+
+ System.out.println("------- Annotated Single -------");
+ System.out.println(repository.findUserByIdIn(1000));
+ System.out.println(repository.findUserByIdIn(42));
+
+ System.out.println("------- Derived Single -------");
+ System.out.println(repository.findUserByUsername(user.getUsername()));
+
+ System.out.println("------- Derived SASI -------");
+ System.out.println(repository.findUsersByLastnameStartsWith("White", Limit.of(1)));
+ };
+
+ }
+
+}
diff --git a/cassandra/aot-optimization/src/main/java/example/springdata/cassandra/User.java b/cassandra/aot-optimization/src/main/java/example/springdata/cassandra/User.java
new file mode 100644
index 000000000..111db6f2f
--- /dev/null
+++ b/cassandra/aot-optimization/src/main/java/example/springdata/cassandra/User.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.cassandra;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+import org.springframework.data.cassandra.core.mapping.CassandraType;
+import org.springframework.data.cassandra.core.mapping.Column;
+import org.springframework.data.cassandra.core.mapping.PrimaryKey;
+import org.springframework.data.cassandra.core.mapping.Table;
+
+import com.datastax.oss.driver.api.core.data.UdtValue;
+
+/**
+ * Sample user class.
+ *
+ * @author Oliver Gierke
+ * @author Thomas Darimont
+ * @author Mark Paluch
+ */
+@Data
+@NoArgsConstructor
+@Table(value = "users")
+public class User {
+
+ @PrimaryKey("user_id") private Long id;
+
+ @Column("uname") private String username;
+ @Column("fname") private String firstname;
+ @Column("lname") private String lastname;
+
+ Address current;
+ List previous;
+
+ @CassandraType(type = CassandraType.Name.UDT, userTypeName = "address") UdtValue alternative;
+
+ public User(Long id) {
+ this.setId(id);
+ }
+
+ public User(Long id, String firstname, String lastname) {
+ this.id = id;
+ this.firstname = firstname;
+ this.lastname = lastname;
+ }
+}
diff --git a/cassandra/aot-optimization/src/main/java/example/springdata/cassandra/UserRepository.java b/cassandra/aot-optimization/src/main/java/example/springdata/cassandra/UserRepository.java
new file mode 100644
index 000000000..487f98efe
--- /dev/null
+++ b/cassandra/aot-optimization/src/main/java/example/springdata/cassandra/UserRepository.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.cassandra;
+
+import java.util.List;
+
+import org.springframework.data.cassandra.repository.Query;
+import org.springframework.data.domain.Limit;
+import org.springframework.data.repository.CrudRepository;
+
+/**
+ * Simple repository interface for {@link User} instances. The interface is used to declare the so-called query methods,
+ * i.e. methods to retrieve single entities or collections of them.
+ *
+ * @author Thomas Darimont
+ */
+public interface UserRepository extends CrudRepository {
+
+ /**
+ * Sample method annotated with {@link Query}. This method executes the CQL from the {@link Query} value.
+ *
+ * @param id
+ * @return
+ */
+ @Query("SELECT * from users where user_id in(?0)")
+ User findUserByIdIn(long id);
+
+ /**
+ * Derived query method. This query corresponds with {@code SELECT * FROM users WHERE uname = ?0}.
+ * {@link User#username} is not part of the primary so it requires a secondary index.
+ *
+ * @param username
+ * @return
+ */
+ User findUserByUsername(String username);
+
+ /**
+ * Derived query method using SASI (SSTable Attached Secondary Index) features through the {@code LIKE} keyword. This
+ * query corresponds with {@code SELECT * FROM users WHERE lname LIKE '?0'}. {@link User#lastname} is not part of the
+ * primary key so it requires a secondary index.
+ *
+ * @param lastnamePrefix
+ * @return
+ */
+ List findUsersByLastnameStartsWith(String lastnamePrefix);
+
+ /**
+ * Same as {@link #findUsersByLastnameStartsWith(String)} but reducing the result size to a given {@link Limit}.
+ *
+ * @param lastnamePrefix
+ * @param maxResults the maximum number of results returned.
+ * @return
+ */
+ List findUsersByLastnameStartsWith(String lastnamePrefix, Limit maxResults);
+}
diff --git a/cassandra/aot-optimization/src/main/java/example/springdata/cassandra/package-info.java b/cassandra/aot-optimization/src/main/java/example/springdata/cassandra/package-info.java
new file mode 100644
index 000000000..b4857317a
--- /dev/null
+++ b/cassandra/aot-optimization/src/main/java/example/springdata/cassandra/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Package showing a simple repository interface to use basic query method execution functionality.
+ */
+package example.springdata.cassandra;
diff --git a/cassandra/aot-optimization/src/main/resources/application.properties b/cassandra/aot-optimization/src/main/resources/application.properties
new file mode 100644
index 000000000..8a531ae97
--- /dev/null
+++ b/cassandra/aot-optimization/src/main/resources/application.properties
@@ -0,0 +1,3 @@
+spring.cassandra.keyspace-name=example
+spring.cassandra.schema-action=recreate
+spring.cassandra.local-datacenter=datacenter1
diff --git a/cassandra/example/pom.xml b/cassandra/example/pom.xml
index 1df483427..8bf284bea 100644
--- a/cassandra/example/pom.xml
+++ b/cassandra/example/pom.xml
@@ -7,7 +7,7 @@
org.springframework.data.examplesspring-data-cassandra-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
diff --git a/cassandra/example/src/main/java/example/springdata/cassandra/auditing/BasicConfiguration.java b/cassandra/example/src/main/java/example/springdata/cassandra/auditing/BasicConfiguration.java
index c1360005c..392743c0d 100644
--- a/cassandra/example/src/main/java/example/springdata/cassandra/auditing/BasicConfiguration.java
+++ b/cassandra/example/src/main/java/example/springdata/cassandra/auditing/BasicConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,7 +18,7 @@
import java.util.Optional;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.boot.persistence.autoconfigure.EntityScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.cassandra.config.EnableCassandraAuditing;
diff --git a/cassandra/example/src/main/java/example/springdata/cassandra/basic/BasicConfiguration.java b/cassandra/example/src/main/java/example/springdata/cassandra/basic/BasicConfiguration.java
index 42bfa9fa2..824016c35 100644
--- a/cassandra/example/src/main/java/example/springdata/cassandra/basic/BasicConfiguration.java
+++ b/cassandra/example/src/main/java/example/springdata/cassandra/basic/BasicConfiguration.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2013-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -16,7 +16,7 @@
package example.springdata.cassandra.basic;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.boot.persistence.autoconfigure.EntityScan;
import org.springframework.context.annotation.Configuration;
/**
diff --git a/cassandra/example/src/main/java/example/springdata/cassandra/basic/BasicUserRepository.java b/cassandra/example/src/main/java/example/springdata/cassandra/basic/BasicUserRepository.java
index 93a6da262..a3fc0601b 100644
--- a/cassandra/example/src/main/java/example/springdata/cassandra/basic/BasicUserRepository.java
+++ b/cassandra/example/src/main/java/example/springdata/cassandra/basic/BasicUserRepository.java
@@ -18,11 +18,12 @@
import java.util.List;
import org.springframework.data.cassandra.repository.Query;
+import org.springframework.data.domain.Limit;
import org.springframework.data.repository.CrudRepository;
/**
- * Simple repository interface for {@link User} instances. The interface is used to declare so called query methods,
- * methods to retrieve single entities or collections of them.
+ * Simple repository interface for {@link User} instances. The interface is used to declare the so-called query methods,
+ * i.e. methods to retrieve single entities or collections of them.
*
* @author Thomas Darimont
*/
@@ -55,4 +56,13 @@ public interface BasicUserRepository extends CrudRepository {
* @return
*/
List findUsersByLastnameStartsWith(String lastnamePrefix);
+
+ /**
+ * Same as {@link #findUsersByLastnameStartsWith(String)} but reducing the result size to a given {@link Limit}.
+ *
+ * @param lastnamePrefix
+ * @param maxResults the maximum number of results returned.
+ * @return
+ */
+ List findUsersByLastnameStartsWith(String lastnamePrefix, Limit maxResults);
}
diff --git a/cassandra/example/src/main/java/example/springdata/cassandra/basic/User.java b/cassandra/example/src/main/java/example/springdata/cassandra/basic/User.java
index 25df51a0a..96c05b186 100644
--- a/cassandra/example/src/main/java/example/springdata/cassandra/basic/User.java
+++ b/cassandra/example/src/main/java/example/springdata/cassandra/basic/User.java
@@ -43,4 +43,10 @@ public class User {
public User(Long id) {
this.setId(id);
}
+
+ public User(Long id, String firstname, String lastname) {
+ this.id = id;
+ this.firstname = firstname;
+ this.lastname = lastname;
+ }
}
diff --git a/cassandra/example/src/main/java/example/springdata/cassandra/convert/ConverterConfiguration.java b/cassandra/example/src/main/java/example/springdata/cassandra/convert/ConverterConfiguration.java
index 7f2a38a0d..719b30af5 100644
--- a/cassandra/example/src/main/java/example/springdata/cassandra/convert/ConverterConfiguration.java
+++ b/cassandra/example/src/main/java/example/springdata/cassandra/convert/ConverterConfiguration.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2016-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -21,7 +21,7 @@
import java.util.List;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.boot.persistence.autoconfigure.EntityScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.convert.converter.Converter;
diff --git a/cassandra/example/src/main/java/example/springdata/cassandra/events/BasicConfiguration.java b/cassandra/example/src/main/java/example/springdata/cassandra/events/BasicConfiguration.java
index 8ac712b2e..e365c45fe 100644
--- a/cassandra/example/src/main/java/example/springdata/cassandra/events/BasicConfiguration.java
+++ b/cassandra/example/src/main/java/example/springdata/cassandra/events/BasicConfiguration.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2018-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -16,7 +16,7 @@
package example.springdata.cassandra.events;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.boot.persistence.autoconfigure.EntityScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
diff --git a/cassandra/example/src/main/java/example/springdata/cassandra/optimisticlocking/BasicConfiguration.java b/cassandra/example/src/main/java/example/springdata/cassandra/optimisticlocking/BasicConfiguration.java
index 21617e24e..59911e043 100644
--- a/cassandra/example/src/main/java/example/springdata/cassandra/optimisticlocking/BasicConfiguration.java
+++ b/cassandra/example/src/main/java/example/springdata/cassandra/optimisticlocking/BasicConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,7 +16,7 @@
package example.springdata.cassandra.optimisticlocking;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.boot.persistence.autoconfigure.EntityScan;
import org.springframework.context.annotation.Configuration;
/**
diff --git a/cassandra/example/src/main/java/example/springdata/cassandra/projection/ProjectionConfiguration.java b/cassandra/example/src/main/java/example/springdata/cassandra/projection/ProjectionConfiguration.java
index ccfed4161..a8434f85b 100644
--- a/cassandra/example/src/main/java/example/springdata/cassandra/projection/ProjectionConfiguration.java
+++ b/cassandra/example/src/main/java/example/springdata/cassandra/projection/ProjectionConfiguration.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2016-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -16,7 +16,7 @@
package example.springdata.cassandra.projection;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.boot.persistence.autoconfigure.EntityScan;
import org.springframework.context.annotation.Configuration;
/**
diff --git a/cassandra/example/src/main/resources/application.properties b/cassandra/example/src/main/resources/application.properties
index 137ca04dd..8a531ae97 100644
--- a/cassandra/example/src/main/resources/application.properties
+++ b/cassandra/example/src/main/resources/application.properties
@@ -1,3 +1,3 @@
-spring.data.cassandra.keyspace-name=example
-spring.data.cassandra.schema-action=recreate
-spring.data.cassandra.local-datacenter=datacenter1
+spring.cassandra.keyspace-name=example
+spring.cassandra.schema-action=recreate
+spring.cassandra.local-datacenter=datacenter1
diff --git a/cassandra/example/src/test/java/example/springdata/cassandra/basic/BasicUserRepositoryTests.java b/cassandra/example/src/test/java/example/springdata/cassandra/basic/BasicUserRepositoryTests.java
index 436b37680..20832d068 100644
--- a/cassandra/example/src/test/java/example/springdata/cassandra/basic/BasicUserRepositoryTests.java
+++ b/cassandra/example/src/test/java/example/springdata/cassandra/basic/BasicUserRepositoryTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2013-2021 the original author or authors.
+ * Copyright 2023 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -21,11 +21,14 @@
import example.springdata.cassandra.util.CassandraKeyspace;
import example.springdata.cassandra.util.CassandraVersion;
+import java.util.stream.LongStream;
+
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.data.domain.Limit;
import org.springframework.data.util.Version;
import com.datastax.oss.driver.api.core.CqlSession;
@@ -109,7 +112,8 @@ void findByDerivedQueryMethodWithSASI() throws InterruptedException {
assumeThat(CassandraVersion.getReleaseVersion(session).isGreaterThanOrEqualTo(CASSANDRA_3_4)).isTrue();
- session.execute("CREATE CUSTOM INDEX ON users (lname) USING 'org.apache.cassandra.index.sasi.SASIIndex';");
+ session.execute(
+ "CREATE CUSTOM INDEX IF NOT EXISTS users_lname_idx_1 ON users (lname) USING 'org.apache.cassandra.index.sasi.SASIIndex';");
/*
Cassandra secondary indexes are created in the background without the possibility to check
whether they are available or not. So we are forced to just wait. *sigh*
@@ -120,4 +124,25 @@ void findByDerivedQueryMethodWithSASI() throws InterruptedException {
assertThat(repository.findUsersByLastnameStartsWith("last")).contains(user);
}
+
+ /**
+ * Spring Data Cassandra supports {@code Limit} to reduce the number of returned results.
+ */
+ @Test
+ void limitResultSize() throws InterruptedException {
+
+ assumeThat(CassandraVersion.getReleaseVersion(session).isGreaterThanOrEqualTo(CASSANDRA_3_4)).isTrue();
+
+ session.execute(
+ "CREATE CUSTOM INDEX IF NOT EXISTS users_lname_idx_1 ON users (lname) USING 'org.apache.cassandra.index.sasi.SASIIndex';");
+ /*
+ Cassandra secondary indexes are created in the background without the possibility to check
+ whether they are available or not. So we are forced to just wait. *sigh*
+ */
+ Thread.sleep(1000);
+
+ LongStream.range(0, 10).forEach(id -> repository.save(new User(id, user.getFirstname(), user.getLastname())));
+
+ assertThat(repository.findUsersByLastnameStartsWith("last", Limit.of(5))).hasSize(5);
+ }
}
diff --git a/cassandra/example/src/test/java/example/springdata/cassandra/basic/CassandraOperationsIntegrationTests.java b/cassandra/example/src/test/java/example/springdata/cassandra/basic/CassandraOperationsIntegrationTests.java
index 50c3b2426..3c660b05f 100644
--- a/cassandra/example/src/test/java/example/springdata/cassandra/basic/CassandraOperationsIntegrationTests.java
+++ b/cassandra/example/src/test/java/example/springdata/cassandra/basic/CassandraOperationsIntegrationTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2016-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,10 +19,8 @@
import example.springdata.cassandra.util.CassandraKeyspace;
-import java.util.List;
import java.util.Map;
import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -32,12 +30,10 @@
import org.springframework.data.cassandra.core.AsyncCassandraTemplate;
import org.springframework.data.cassandra.core.CassandraOperations;
import org.springframework.data.cassandra.core.CassandraTemplate;
-import org.springframework.util.concurrent.ListenableFuture;
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.cql.Row;
import com.datastax.oss.driver.api.querybuilder.QueryBuilder;
-import com.datastax.oss.driver.api.querybuilder.insert.Insert;
/**
* Integration test showing the basic usage of {@link CassandraTemplate}.
@@ -48,12 +44,11 @@
@CassandraKeyspace
class CassandraOperationsIntegrationTests {
-
@Autowired CqlSession session;
@Autowired CassandraOperations template;
@BeforeEach
- void setUp() throws Exception {
+ void setUp() {
template.getCqlOperations().execute("TRUNCATE users");
}
@@ -121,12 +116,10 @@ void insertAsynchronously() throws InterruptedException {
var future = asyncTemplate.insert(user);
- future.addCallback(it -> countDownLatch.countDown(), throwable -> countDownLatch.countDown());
-
- countDownLatch.await(5, TimeUnit.SECONDS);
-
- var loaded = template.selectOneById(user.getId(), User.class);
- assertThat(loaded).isEqualTo(user);
+ future.whenComplete((it, ex) -> {
+ var loaded = template.selectOneById(it.getId(), User.class);
+ assertThat(loaded).isEqualTo(it);
+ });
}
/**
diff --git a/cassandra/example/src/test/java/example/springdata/cassandra/events/LifecycleEventsTests.java b/cassandra/example/src/test/java/example/springdata/cassandra/events/LifecycleEventsTests.java
index 3b027f6e5..9809423a5 100644
--- a/cassandra/example/src/test/java/example/springdata/cassandra/events/LifecycleEventsTests.java
+++ b/cassandra/example/src/test/java/example/springdata/cassandra/events/LifecycleEventsTests.java
@@ -29,7 +29,7 @@
/**
* Test showing differences between fetching results as {@link List} and {@link Stream streaming} results using
- * Cassandra Lifecyle Events.
+ * Cassandra Lifecycle Events.
*
* @author Mark Paluch
*/
diff --git a/cassandra/example/src/test/java/example/springdata/cassandra/udt/UserDefinedTypeIntegrationTest.java b/cassandra/example/src/test/java/example/springdata/cassandra/udt/UserDefinedTypeIntegrationTest.java
index c0cdc7834..58faa0677 100644
--- a/cassandra/example/src/test/java/example/springdata/cassandra/udt/UserDefinedTypeIntegrationTest.java
+++ b/cassandra/example/src/test/java/example/springdata/cassandra/udt/UserDefinedTypeIntegrationTest.java
@@ -32,10 +32,6 @@
import org.springframework.data.cassandra.core.CassandraAdminOperations;
import org.springframework.data.cassandra.core.CassandraOperations;
-import com.datastax.oss.driver.api.core.data.UdtValue;
-import com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata;
-import com.datastax.oss.driver.api.core.type.UserDefinedType;
-
/**
* Integration test to show User-Defined type support.
*
@@ -51,12 +47,12 @@ static class Config extends AbstractCassandraConfiguration {
@Override
protected int getPort() {
- return Integer.getInteger("spring.data.cassandra.port");
+ return Integer.getInteger("spring.cassandra.port");
}
@Override
protected String getContactPoints() {
- return System.getProperty("spring.data.cassandra.contact-points");
+ return System.getProperty("spring.cassandra.contact-points");
}
@Override
diff --git a/cassandra/kotlin/pom.xml b/cassandra/kotlin/pom.xml
index 5cc0a9ec4..ad47b113c 100644
--- a/cassandra/kotlin/pom.xml
+++ b/cassandra/kotlin/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data.examplesspring-data-cassandra-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-cassandra-kotlin
diff --git a/cassandra/kotlin/src/main/resources/application.properties b/cassandra/kotlin/src/main/resources/application.properties
index 137ca04dd..8a531ae97 100644
--- a/cassandra/kotlin/src/main/resources/application.properties
+++ b/cassandra/kotlin/src/main/resources/application.properties
@@ -1,3 +1,3 @@
-spring.data.cassandra.keyspace-name=example
-spring.data.cassandra.schema-action=recreate
-spring.data.cassandra.local-datacenter=datacenter1
+spring.cassandra.keyspace-name=example
+spring.cassandra.schema-action=recreate
+spring.cassandra.local-datacenter=datacenter1
diff --git a/cassandra/pom.xml b/cassandra/pom.xml
index a07a22fc9..554929ada 100644
--- a/cassandra/pom.xml
+++ b/cassandra/pom.xml
@@ -8,16 +8,17 @@
org.springframework.data.examplesspring-data-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTSpring Data Cassandra - ExamplesSample projects for Spring Data Cassandra
- https://projects.spring.io/spring-data-cassandra
+ https://spring.io/spring-data-cassandra2014util
+ aot-optimizationexamplekotlinreactive
@@ -27,12 +28,13 @@
org.springframework.boot
- spring-boot-starter-aop
+ spring-boot-starter-data-cassandraorg.springframework.boot
- spring-boot-starter-data-cassandra
+ spring-boot-data-cassandra-test
+ test
diff --git a/cassandra/reactive/pom.xml b/cassandra/reactive/pom.xml
index 206f87553..83611380b 100644
--- a/cassandra/reactive/pom.xml
+++ b/cassandra/reactive/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data.examplesspring-data-cassandra-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-cassandra-reactive
@@ -18,21 +18,6 @@
reactor-core
-
- io.reactivex
- rxjava
-
-
-
- io.reactivex.rxjava2
- rxjava
-
-
-
- io.reactivex
- rxjava-reactive-streams
-
-
io.projectreactorreactor-test
diff --git a/cassandra/reactive/src/main/java/example/springdata/cassandra/people/ReactivePersonRepository.java b/cassandra/reactive/src/main/java/example/springdata/cassandra/people/ReactivePersonRepository.java
index 6c8a38402..130781be3 100644
--- a/cassandra/reactive/src/main/java/example/springdata/cassandra/people/ReactivePersonRepository.java
+++ b/cassandra/reactive/src/main/java/example/springdata/cassandra/people/ReactivePersonRepository.java
@@ -15,6 +15,7 @@
*/
package example.springdata.cassandra.people;
+import org.springframework.data.domain.Limit;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
@@ -36,6 +37,15 @@ public interface ReactivePersonRepository extends ReactiveCrudRepository findByLastname(String lastname);
+ /**
+ * Derived query selecting by {@code lastname} reducing the result size to a given {@link Limit}.
+ *
+ * @param lastname
+ * @param maxResults the maximum number of results returned.
+ * @return
+ */
+ Flux findByLastname(String lastname, Limit maxResults);
+
/**
* String query selecting one entity.
*
diff --git a/cassandra/reactive/src/main/java/example/springdata/cassandra/people/RxJava2PersonRepository.java b/cassandra/reactive/src/main/java/example/springdata/cassandra/people/RxJava2PersonRepository.java
deleted file mode 100644
index e36c94178..000000000
--- a/cassandra/reactive/src/main/java/example/springdata/cassandra/people/RxJava2PersonRepository.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2016-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.cassandra.people;
-
-import io.reactivex.Observable;
-import io.reactivex.Single;
-
-import org.springframework.data.cassandra.repository.Query;
-import org.springframework.data.repository.reactive.RxJava2CrudRepository;
-
-/**
- * Repository interface to manage {@link Person} instances.
- *
- * @author Mark Paluch
- */
-public interface RxJava2PersonRepository extends RxJava2CrudRepository {
-
- /**
- * Derived query selecting by {@code lastname}.
- *
- * @param lastname
- * @return
- */
- Observable findByLastname(String lastname);
-
- /**
- * String query selecting one entity.
- *
- * @param lastname
- * @return
- */
- @Query("SELECT * FROM person WHERE firstname = ?0 and lastname = ?1")
- Single findByFirstnameAndLastname(String firstname, String lastname);
-
- /**
- * Derived query selecting by {@code lastname}. {@code lastname} uses deferred resolution that does not require
- * blocking to obtain the parameter value.
- *
- * @param lastname
- * @return
- */
- Observable findByLastname(Single lastname);
-
- /**
- * Derived query selecting by {@code firstname} and {@code lastname}. {@code firstname} uses deferred resolution that
- * does not require blocking to obtain the parameter value.
- *
- * @param firstname
- * @param lastname
- * @return
- */
- Single findByFirstnameAndLastname(Single firstname, String lastname);
-}
diff --git a/cassandra/reactive/src/test/java/example/springdata/cassandra/auditing/AuditingIntegrationTests.java b/cassandra/reactive/src/test/java/example/springdata/cassandra/auditing/AuditingIntegrationTests.java
index 2ad8c24c5..814fdc9ae 100644
--- a/cassandra/reactive/src/test/java/example/springdata/cassandra/auditing/AuditingIntegrationTests.java
+++ b/cassandra/reactive/src/test/java/example/springdata/cassandra/auditing/AuditingIntegrationTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -25,7 +25,7 @@
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.cassandra.DataCassandraTest;
+import org.springframework.boot.data.cassandra.test.autoconfigure.DataCassandraTest;
/**
* Integration tests showing Reactive Auditing with Cassandra in action.
diff --git a/cassandra/reactive/src/test/java/example/springdata/cassandra/people/ReactiveCassandraTemplateIntegrationTest.java b/cassandra/reactive/src/test/java/example/springdata/cassandra/people/ReactiveCassandraTemplateIntegrationTest.java
index 4e9e50914..62cfc5148 100644
--- a/cassandra/reactive/src/test/java/example/springdata/cassandra/people/ReactiveCassandraTemplateIntegrationTest.java
+++ b/cassandra/reactive/src/test/java/example/springdata/cassandra/people/ReactiveCassandraTemplateIntegrationTest.java
@@ -15,20 +15,14 @@
*/
package example.springdata.cassandra.people;
-import static org.assertj.core.api.Assertions.*;
-
import example.springdata.cassandra.util.CassandraKeyspace;
-import reactor.core.publisher.Flux;
-import reactor.core.publisher.Mono;
-import reactor.test.StepVerifier;
-import rx.RxReactiveStreams;
-
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.cassandra.core.ReactiveCassandraTemplate;
+import reactor.core.publisher.Flux;
+import reactor.test.StepVerifier;
/**
* Integration test for {@link ReactiveCassandraTemplate}.
@@ -54,7 +48,9 @@ void setUp() {
new Person("Jesse", "Pinkman", 27))) //
.flatMap(template::insert);
- StepVerifier.create(truncateAndInsert).expectNextCount(4).verifyComplete();
+ truncateAndInsert.as(StepVerifier::create) //
+ .expectNextCount(4) //
+ .verifyComplete();
}
/**
@@ -73,23 +69,8 @@ void shouldInsertAndCountData() {
.flatMap(v -> template.count(Person.class)) //
.doOnNext(System.out::println);
- StepVerifier.create(saveAndCount).expectNext(6L).verifyComplete();
- }
-
- /**
- * Note that the all object conversions are performed before the results are printed to the console.
- */
- @Test
- void convertReactorTypesToRxJava1() throws Exception {
-
- var flux = template.select("SELECT * FROM person WHERE lastname = 'White'", Person.class);
-
- long count = RxReactiveStreams.toObservable(flux) //
- .count() //
- .toSingle() //
- .toBlocking() //
- .value(); //
-
- assertThat(count).isEqualTo(2);
+ saveAndCount.as(StepVerifier::create) //
+ .expectNext(6L) //
+ .verifyComplete();
}
}
diff --git a/cassandra/reactive/src/test/java/example/springdata/cassandra/people/ReactivePersonRepositoryIntegrationTest.java b/cassandra/reactive/src/test/java/example/springdata/cassandra/people/ReactivePersonRepositoryIntegrationTest.java
index bf17e8897..ca9f8a3b4 100644
--- a/cassandra/reactive/src/test/java/example/springdata/cassandra/people/ReactivePersonRepositoryIntegrationTest.java
+++ b/cassandra/reactive/src/test/java/example/springdata/cassandra/people/ReactivePersonRepositoryIntegrationTest.java
@@ -16,6 +16,7 @@
package example.springdata.cassandra.people;
import example.springdata.cassandra.util.CassandraKeyspace;
+import org.springframework.data.domain.Limit;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import reactor.test.StepVerifier;
@@ -49,7 +50,9 @@ void setUp() {
new Person("Saul", "Goodman", 42), //
new Person("Jesse", "Pinkman", 27))));
- StepVerifier.create(deleteAndInsert).expectNextCount(4).verifyComplete();
+ deleteAndInsert.as(StepVerifier::create) //
+ .expectNextCount(4) //
+ .verifyComplete();
}
/**
@@ -66,7 +69,9 @@ void shouldInsertAndCountData() {
.flatMap(v -> repository.count()) //
.doOnNext(System.out::println);
- StepVerifier.create(saveAndCount).expectNext(6L).verifyComplete();
+ saveAndCount.as(StepVerifier::create) //
+ .expectNext(6L) //
+ .verifyComplete();
}
/**
@@ -76,7 +81,7 @@ void shouldInsertAndCountData() {
@Test
void shouldPerformConversionBeforeResultProcessing() {
- StepVerifier.create(repository.findAll().doOnNext(System.out::println)) //
+ repository.findAll().doOnNext(System.out::println).as(StepVerifier::create) //
.expectNextCount(4) //
.verifyComplete();
}
@@ -86,7 +91,21 @@ void shouldPerformConversionBeforeResultProcessing() {
*/
@Test
void shouldQueryDataWithQueryDerivation() {
- StepVerifier.create(repository.findByLastname("White")).expectNextCount(2).verifyComplete();
+
+ repository.findByLastname("White").as(StepVerifier::create) //
+ .expectNextCount(2) //
+ .verifyComplete();
+ }
+
+ /**
+ * Fetch data limiting result size.
+ */
+ @Test
+ void limitResultSize() {
+
+ repository.findByLastname("White", Limit.of(1)).as(StepVerifier::create) //
+ .expectNextCount(1) //
+ .verifyComplete();
}
/**
@@ -94,7 +113,10 @@ void shouldQueryDataWithQueryDerivation() {
*/
@Test
void shouldQueryDataWithStringQuery() {
- StepVerifier.create(repository.findByFirstnameInAndLastname("Walter", "White")).expectNextCount(1).verifyComplete();
+
+ repository.findByFirstnameInAndLastname("Walter", "White").as(StepVerifier::create) //
+ .expectNextCount(1) //
+ .verifyComplete();
}
/**
@@ -102,7 +124,10 @@ void shouldQueryDataWithStringQuery() {
*/
@Test
void shouldQueryDataWithDeferredQueryDerivation() {
- StepVerifier.create(repository.findByLastname(Mono.just("White"))).expectNextCount(2).verifyComplete();
+
+ repository.findByLastname(Mono.just("White")).as(StepVerifier::create) //
+ .expectNextCount(2) //
+ .verifyComplete();
}
/**
@@ -111,7 +136,7 @@ void shouldQueryDataWithDeferredQueryDerivation() {
@Test
void shouldQueryDataWithMixedDeferredQueryDerivation() {
- StepVerifier.create(repository.findByFirstnameAndLastname(Mono.just("Walter"), "White")) //
+ repository.findByFirstnameAndLastname(Mono.just("Walter"), "White").as(StepVerifier::create) //
.expectNextCount(1) //
.verifyComplete();
}
diff --git a/cassandra/reactive/src/test/java/example/springdata/cassandra/people/RxJava2PersonRepositoryIntegrationTest.java b/cassandra/reactive/src/test/java/example/springdata/cassandra/people/RxJava2PersonRepositoryIntegrationTest.java
deleted file mode 100644
index 9c48af2c6..000000000
--- a/cassandra/reactive/src/test/java/example/springdata/cassandra/people/RxJava2PersonRepositoryIntegrationTest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright 2016-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.cassandra.people;
-
-import example.springdata.cassandra.util.CassandraKeyspace;
-import io.reactivex.Completable;
-import io.reactivex.Flowable;
-import io.reactivex.Single;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.data.cassandra.core.ReactiveCassandraOperations;
-
-/**
- * Integration test for {@link RxJava2PersonRepository} using RxJava1 types. Note that
- * {@link ReactiveCassandraOperations} is only available using Project Reactor types as the native Template API
- * implementation does not come in multiple reactive flavors.
- *
- * @author Mark Paluch
- */
-@CassandraKeyspace
-@SpringBootTest
-public class RxJava2PersonRepositoryIntegrationTest {
-
-
- @Autowired RxJava2PersonRepository repository;
- @Autowired ReactiveCassandraOperations operations;
-
- @BeforeEach
- public void setUp() throws Exception {
-
- var deleteAll = repository.deleteAll();
-
- var save = repository.saveAll(Flowable.just(new Person("Walter", "White", 50), //
- new Person("Skyler", "White", 45), //
- new Person("Saul", "Goodman", 42), //
- new Person("Jesse", "Pinkman", 27)));
-
- deleteAll.andThen(save).test().await().assertNoErrors();
- }
-
- /**
- * This sample performs a count, inserts data and performs a count again using reactive operator chaining. It prints
- * the two counts ({@code 4} and {@code 6}) to the console.
- */
- @Test
- public void shouldInsertAndCountData() {
-
-
- repository.count() //
- .doOnSuccess(System.out::println) //
- .toFlowable() //
- .switchMap(count -> repository.saveAll(Flowable.just(new Person("Hank", "Schrader", 43), //
- new Person("Mike", "Ehrmantraut", 62)))) //
- .lastElement() //
- .toSingle() //
- .flatMap(v -> repository.count()) //
- .doOnSuccess(System.out::println) //
- .test() //
- .awaitCount(1) //
- .assertValue(6L) //
- .assertNoErrors() //
- .awaitTerminalEvent();
- }
-
- /**
- * Result set {@link com.datastax.driver.core.Row}s are converted to entities as they are emitted. Reactive pull and
- * prefetch define the amount of fetched records.
- */
- @Test
- public void shouldPerformConversionBeforeResultProcessing() {
-
- repository.findAll() //
- .doOnNext(System.out::println) //
- .test() //
- .awaitCount(4) //
- .assertNoErrors() //
- .awaitTerminalEvent();
- }
-
- /**
- * Fetch data using query derivation.
- */
- @Test
- public void shouldQueryDataWithQueryDerivation() {
-
- repository.findByLastname("White") //
- .test() //
- .awaitCount(2) //
- .assertNoErrors() //
- .awaitTerminalEvent();
- }
-
- /**
- * Fetch data using a string query.
- */
- @Test
- public void shouldQueryDataWithStringQuery() {
-
- repository.findByFirstnameAndLastname("Walter", "White") //
- .test() //
- .awaitCount(1) //
- .assertNoErrors() //
- .awaitTerminalEvent();
- }
-
- /**
- * Fetch data using query derivation.
- */
- @Test
- public void shouldQueryDataWithDeferredQueryDerivation() {
-
- repository.findByLastname(Single.just("White")) //
- .test() //
- .awaitCount(2) //
- .assertNoErrors() //
- .awaitTerminalEvent();
- }
-
- /**
- * Fetch data using query derivation and deferred parameter resolution.
- */
- @Test
- public void shouldQueryDataWithMixedDeferredQueryDerivation() {
-
- repository.findByFirstnameAndLastname(Single.just("Walter"), "White") //
- .test() //
- .awaitCount(1) //
- .assertNoErrors() //
- .awaitTerminalEvent();
- }
-}
diff --git a/cassandra/reactive/src/test/java/example/springdata/cassandra/spel/ExpressionIntegrationTests.java b/cassandra/reactive/src/test/java/example/springdata/cassandra/spel/ExpressionIntegrationTests.java
index 98e01e3d9..3d4d97e2f 100644
--- a/cassandra/reactive/src/test/java/example/springdata/cassandra/spel/ExpressionIntegrationTests.java
+++ b/cassandra/reactive/src/test/java/example/springdata/cassandra/spel/ExpressionIntegrationTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -28,7 +28,7 @@
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.cassandra.DataCassandraTest;
+import org.springframework.boot.data.cassandra.test.autoconfigure.DataCassandraTest;
/**
* Integration tests showing the SpEL context extension in action.
diff --git a/cassandra/reactive/src/test/resources/application.properties b/cassandra/reactive/src/test/resources/application.properties
index ca11a7f3b..888a19512 100644
--- a/cassandra/reactive/src/test/resources/application.properties
+++ b/cassandra/reactive/src/test/resources/application.properties
@@ -1,5 +1,5 @@
-spring.data.cassandra.keyspace-name=example
-spring.data.cassandra.schema-action=recreate
-spring.data.cassandra.local-datacenter=datacenter1
+spring.cassandra.keyspace-name=example
+spring.cassandra.schema-action=recreate
+spring.cassandra.local-datacenter=datacenter1
logging.level.org.springframework.data.cassandra=INFO
diff --git a/cassandra/util/pom.xml b/cassandra/util/pom.xml
index adf66b173..4e75c4988 100644
--- a/cassandra/util/pom.xml
+++ b/cassandra/util/pom.xml
@@ -6,7 +6,7 @@
org.springframework.data.examplesspring-data-cassandra-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
@@ -27,11 +27,11 @@
org.testcontainers
- cassandra
+ testcontainers-cassandra
- com.datastax.oss
+ org.apache.cassandrajava-driver-core
diff --git a/cassandra/util/src/main/java/example/springdata/cassandra/util/CassandraExtension.java b/cassandra/util/src/main/java/example/springdata/cassandra/util/CassandraExtension.java
index 1023fc04d..6adb2bdab 100644
--- a/cassandra/util/src/main/java/example/springdata/cassandra/util/CassandraExtension.java
+++ b/cassandra/util/src/main/java/example/springdata/cassandra/util/CassandraExtension.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2021-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -26,7 +26,7 @@
import org.springframework.util.StringUtils;
-import org.testcontainers.containers.CassandraContainer;
+import org.testcontainers.cassandra.CassandraContainer;
import com.datastax.oss.driver.api.core.CqlSession;
@@ -52,8 +52,8 @@ public void beforeAll(ExtensionContext context) {
var keyspace = store.getOrComputeIfAbsent(CassandraServer.class, it -> {
CassandraContainer container = runTestcontainer();
- System.setProperty("spring.data.cassandra.port", "" + container.getMappedPort(9042));
- System.setProperty("spring.data.cassandra.contact-points", "" + container.getHost());
+ System.setProperty("spring.cassandra.port", "" + container.getMappedPort(9042));
+ System.setProperty("spring.cassandra.contact-points", "" + container.getHost());
return new CassandraServer(container.getHost(), container.getMappedPort(9042),
CassandraServer.RuntimeMode.EMBEDDED_IF_NOT_RUNNING);
@@ -92,13 +92,13 @@ private static CassandraKeyspace findAnnotation(ExtensionContext context) {
return annotation.orElseThrow(() -> new IllegalStateException("Test class not annotated with @Cassandra"));
}
- private CassandraContainer> runTestcontainer() {
+ private CassandraContainer runTestcontainer() {
if (container != null) {
return container;
}
- container = new CassandraContainer<>(getCassandraDockerImageName());
+ container = new CassandraContainer(getCassandraDockerImageName());
container.withReuse(true);
container.start();
diff --git a/couchbase/example/README.md b/couchbase/example/README.md
index 2533a2b2f..f4e99a91d 100644
--- a/couchbase/example/README.md
+++ b/couchbase/example/README.md
@@ -4,7 +4,7 @@ This project contains samples of data access features with Spring Data (Couchbas
## Prerequisites
-The examples require a running [Couchbase Server](https://www.couchbase.com/downloads) server with the travel sample bucket imported. We assume you're running Couchbase 6.5 and we have updated the `application.properties` class accordingly to adapt RBAC authentication.
+The examples require a running [Couchbase Server](https://www.couchbase.com/downloads) with the travel sample bucket imported. We assume you're running Couchbase 6.5 and we have updated the `application.properties` class accordingly to adapt RBAC authentication.
For more information, see the [official documentation](https://docs.spring.io/spring-data/couchbase/docs/current/reference/html/#reference).
diff --git a/couchbase/example/pom.xml b/couchbase/example/pom.xml
index 7161616b0..de400e99e 100644
--- a/couchbase/example/pom.xml
+++ b/couchbase/example/pom.xml
@@ -5,12 +5,12 @@
spring-data-couchbase-examplesorg.springframework.data.examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xmlspring-data-couchbase-example
- Basic sample for Spring Data Couchbase
+ Spring Data Couchbase - Basic sampleSmall sample project showing the usage of Spring Data Couchbase.
@@ -22,6 +22,11 @@
test
+
+ jakarta.annotation
+ jakarta.annotation-api
+
+
diff --git a/couchbase/example/src/main/java/example/springdata/couchbase/repository/CouchbaseMain.java b/couchbase/example/src/main/java/example/springdata/couchbase/repository/CouchbaseMain.java
index e2e68c1b4..b2ef4ac2e 100644
--- a/couchbase/example/src/main/java/example/springdata/couchbase/repository/CouchbaseMain.java
+++ b/couchbase/example/src/main/java/example/springdata/couchbase/repository/CouchbaseMain.java
@@ -18,7 +18,7 @@
import example.springdata.couchbase.model.Airline;
import lombok.RequiredArgsConstructor;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.SpringBootApplication;
diff --git a/couchbase/example/src/test/java/example/springdata/couchbase/repository/AirlineRepositoryIntegrationTests.java b/couchbase/example/src/test/java/example/springdata/couchbase/repository/AirlineRepositoryIntegrationTests.java
index 75a6d5107..e5c630cb3 100644
--- a/couchbase/example/src/test/java/example/springdata/couchbase/repository/AirlineRepositoryIntegrationTests.java
+++ b/couchbase/example/src/test/java/example/springdata/couchbase/repository/AirlineRepositoryIntegrationTests.java
@@ -18,36 +18,31 @@
import static org.assertj.core.api.Assertions.*;
import example.springdata.couchbase.model.Airline;
-import example.springdata.couchbase.util.CouchbaseAvailableRule;
+import example.springdata.couchbase.util.EnabledOnCouchbaseAvailable;
import java.util.List;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.couchbase.core.CouchbaseOperations;
-import org.springframework.test.context.junit4.SpringRunner;
/**
* Integration tests showing basic CRUD operations through {@link AirlineRepository}.
*
* @author Denis Rosa
*/
-@RunWith(SpringRunner.class)
@SpringBootTest
+@EnabledOnCouchbaseAvailable
public class AirlineRepositoryIntegrationTests {
- @ClassRule //
- public static CouchbaseAvailableRule COUCHBASE = CouchbaseAvailableRule.onLocalhost();
-
@Autowired AirlineRepository airlineRepository;
@Autowired CouchbaseOperations couchbaseOperations;
- @Before
+ @BeforeEach
public void before() {
if (couchbaseOperations.existsById().one("LH")) {
couchbaseOperations.removeById().one("LH");
diff --git a/couchbase/pom.xml b/couchbase/pom.xml
index d817a9a55..07d77c31b 100644
--- a/couchbase/pom.xml
+++ b/couchbase/pom.xml
@@ -1,5 +1,6 @@
-
+4.0.0spring-data-couchbase-examples
@@ -8,7 +9,7 @@
org.springframework.data.examplesspring-data-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTSpring Data Couchbase - Examples
@@ -18,14 +19,15 @@
examplereactive
+ transactionsutil
-
- org.springframework.data
- spring-data-couchbase
+
+ org.springframework.boot
+ spring-boot-starter-data-couchbase
diff --git a/couchbase/reactive/pom.xml b/couchbase/reactive/pom.xml
index 1c488f0d9..e720d639c 100644
--- a/couchbase/reactive/pom.xml
+++ b/couchbase/reactive/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data.examplesspring-data-couchbase-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-couchbase-reactive
@@ -13,11 +13,6 @@
-
- org.springframework.boot
- spring-boot-starter-data-couchbase-reactive
-
-
io.projectreactorreactor-core
diff --git a/couchbase/reactive/src/main/java/example/springdata/couchbase/CouchbaseMain.java b/couchbase/reactive/src/main/java/example/springdata/couchbase/CouchbaseMain.java
index 49f5151dd..236eb9d01 100644
--- a/couchbase/reactive/src/main/java/example/springdata/couchbase/CouchbaseMain.java
+++ b/couchbase/reactive/src/main/java/example/springdata/couchbase/CouchbaseMain.java
@@ -18,7 +18,7 @@
import example.springdata.couchbase.model.Airline;
import lombok.RequiredArgsConstructor;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.SpringBootApplication;
diff --git a/couchbase/reactive/src/test/java/example/springdata/couchbase/repository/ReactiveAirlineRepositoryIntegrationTests.java b/couchbase/reactive/src/test/java/example/springdata/couchbase/repository/ReactiveAirlineRepositoryIntegrationTests.java
index 84795f36e..203ee6a56 100644
--- a/couchbase/reactive/src/test/java/example/springdata/couchbase/repository/ReactiveAirlineRepositoryIntegrationTests.java
+++ b/couchbase/reactive/src/test/java/example/springdata/couchbase/repository/ReactiveAirlineRepositoryIntegrationTests.java
@@ -18,36 +18,31 @@
import static org.assertj.core.api.Assertions.*;
import example.springdata.couchbase.model.Airline;
-import example.springdata.couchbase.util.CouchbaseAvailableRule;
+import example.springdata.couchbase.util.EnabledOnCouchbaseAvailable;
import reactor.core.publisher.Mono;
import reactor.test.StepVerifier;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.couchbase.core.CouchbaseOperations;
-import org.springframework.test.context.junit4.SpringRunner;
/**
* Integration tests showing basic CRUD operations through {@link ReactiveAirlineRepository}
*
* @author Mark Paluch
*/
-@RunWith(SpringRunner.class)
@SpringBootTest
+@EnabledOnCouchbaseAvailable
public class ReactiveAirlineRepositoryIntegrationTests {
- @ClassRule //
- public static CouchbaseAvailableRule COUCHBASE = CouchbaseAvailableRule.onLocalhost();
-
@Autowired ReactiveAirlineRepository airlineRepository;
@Autowired CouchbaseOperations couchbaseOperations;
- @Before
+ @BeforeEach
public void before() {
if (couchbaseOperations.existsById().one("LH")) {
couchbaseOperations.removeById().one("LH");
diff --git a/couchbase/reactive/src/test/java/example/springdata/couchbase/template/ReactiveJavaCouchbaseOperationsIntegrationTests.java b/couchbase/reactive/src/test/java/example/springdata/couchbase/template/ReactiveJavaCouchbaseOperationsIntegrationTests.java
index 4b521d979..38accec4f 100644
--- a/couchbase/reactive/src/test/java/example/springdata/couchbase/template/ReactiveJavaCouchbaseOperationsIntegrationTests.java
+++ b/couchbase/reactive/src/test/java/example/springdata/couchbase/template/ReactiveJavaCouchbaseOperationsIntegrationTests.java
@@ -18,20 +18,17 @@
import static org.assertj.core.api.Assertions.*;
import example.springdata.couchbase.model.Airline;
-import example.springdata.couchbase.util.CouchbaseAvailableRule;
+import example.springdata.couchbase.util.EnabledOnCouchbaseAvailable;
import reactor.core.publisher.Mono;
import reactor.test.StepVerifier;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.couchbase.core.CouchbaseOperations;
import org.springframework.data.couchbase.core.ReactiveCouchbaseOperations;
-import org.springframework.test.context.junit4.SpringRunner;
/**
* Integration tests showing basic CRUD operations through
@@ -40,20 +37,15 @@
* @author Mark Paluch
* @author Denis Rosa
*/
-@RunWith(SpringRunner.class)
@SpringBootTest
+@EnabledOnCouchbaseAvailable
public class ReactiveJavaCouchbaseOperationsIntegrationTests {
- @ClassRule //
- public static CouchbaseAvailableRule COUCHBASE = CouchbaseAvailableRule.onLocalhost();
+ @Autowired ReactiveCouchbaseOperations operations;
- @Autowired
- ReactiveCouchbaseOperations operations;
+ @Autowired CouchbaseOperations couchbaseOperations;
- @Autowired
- CouchbaseOperations couchbaseOperations;
-
- @Before
+ @BeforeEach
public void before() {
if (couchbaseOperations.existsById().one("LH")) {
couchbaseOperations.removeById().one("LH");
@@ -89,8 +81,7 @@ public void shouldCreateAirline() {
airline.setName("Lufthansa");
airline.setCountry("Germany");
- Mono airlineMono = operations.upsertById(Airline.class)
- .one(airline) //
+ Mono airlineMono = operations.upsertById(Airline.class).one(airline) //
.map(Airline::getId) //
.flatMap(id -> operations.findById(Airline.class).one(id));
diff --git a/couchbase/transactions/README.md b/couchbase/transactions/README.md
new file mode 100644
index 000000000..f77ad7d37
--- /dev/null
+++ b/couchbase/transactions/README.md
@@ -0,0 +1,17 @@
+# Getting Started
+
+### Running the Sample
+
+* `$> docker run -d --name db -p 8091-8097:8091-8097 -p 11210:11210 -p 11207:11207 -p 18091-18095:18091-18095 -p 18096:18096 -p 18097:18097 couchbase`
+* Create new _cluster_ via `http://localhost:8091/`
+* Create new [bucket](http://localhost:8091/ui/index.html#/buckets) named _travel-sample_.
+*
+
+### Reference Documentation
+For further reference, please consider the following sections:
+
+* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html)
+* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/2.5.2/maven-plugin/reference/html/)
+* [Create an OCI image](https://docs.spring.io/spring-boot/docs/2.5.2/maven-plugin/reference/html/#build-image)
+* [Spring Data Couchbase](https://docs.spring.io/spring-boot/docs/2.5.2/reference/htmlsingle/#boot-features-couchbase)
+
diff --git a/couchbase/transactions/pom.xml b/couchbase/transactions/pom.xml
new file mode 100644
index 000000000..967563c46
--- /dev/null
+++ b/couchbase/transactions/pom.xml
@@ -0,0 +1,36 @@
+
+
+ 4.0.0
+
+ spring-data-couchbase-transactions
+ Spring Data Couchbase - Transaction example
+ Transactions Demo project for Spring Data Couchbase
+
+
+ org.springframework.data.examples
+ spring-data-couchbase-examples
+ 4.0.0-SNAPSHOT
+
+
+
+
+
+ ${project.groupId}
+ spring-data-couchbase-example-utils
+ ${project.version}
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/couchbase/transactions/src/main/java/com/example/demo/AirlineGates.java b/couchbase/transactions/src/main/java/com/example/demo/AirlineGates.java
new file mode 100644
index 000000000..b91b2d887
--- /dev/null
+++ b/couchbase/transactions/src/main/java/com/example/demo/AirlineGates.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2012-2022 the original author or authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.example.demo;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.annotation.Version;
+import org.springframework.data.couchbase.core.index.QueryIndexed;
+import org.springframework.data.couchbase.core.mapping.Document;
+
+/**
+ * @author Michael Reiche
+ */
+@Document
+public class AirlineGates {
+ @Id String id;
+ @Version Long version;
+ @QueryIndexed String name;
+ String iata;
+ Long gates;
+
+ public AirlineGates(String id, String name, String iata, Long gates) {
+ this.id = id;
+ this.name = name;
+ this.iata = iata;
+ this.gates = gates;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public Long getGates() {
+ return gates;
+ }
+
+ public String toString() {
+ StringBuffer sb = new StringBuffer();
+ sb.append("{");
+ sb.append("\"id\":" + id);
+ sb.append(", \"name\":" + name);
+ sb.append(", \"iata\":" + iata);
+ sb.append(", \"gates\":" + gates);
+ sb.append("}");
+
+ return sb.toString();
+ }
+
+}
diff --git a/couchbase/transactions/src/main/java/com/example/demo/AirlineGatesRepository.java b/couchbase/transactions/src/main/java/com/example/demo/AirlineGatesRepository.java
new file mode 100644
index 000000000..a16027042
--- /dev/null
+++ b/couchbase/transactions/src/main/java/com/example/demo/AirlineGatesRepository.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2017-2022 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.example.demo;
+
+import org.springframework.data.couchbase.repository.CouchbaseRepository;
+import org.springframework.data.couchbase.repository.DynamicProxyable;
+
+/**
+ * @author Michael Reiche
+ */
+public interface AirlineGatesRepository
+ extends CouchbaseRepository, DynamicProxyable {
+
+}
diff --git a/couchbase/transactions/src/main/java/com/example/demo/AirlineGatesService.java b/couchbase/transactions/src/main/java/com/example/demo/AirlineGatesService.java
new file mode 100644
index 000000000..f1196a91c
--- /dev/null
+++ b/couchbase/transactions/src/main/java/com/example/demo/AirlineGatesService.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright 2022 the original author or authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.example.demo;
+
+import reactor.core.publisher.Mono;
+
+import org.springframework.data.couchbase.core.CouchbaseTemplate;
+import org.springframework.data.couchbase.core.ReactiveCouchbaseTemplate;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * @author Michael Reiche
+ */
+@Service
+public class AirlineGatesService {
+ CouchbaseTemplate template;
+ ReactiveCouchbaseTemplate reactiveTemplate;
+ AirlineGatesRepository airlineGatesRepository;
+
+ public AirlineGatesService(CouchbaseTemplate template, AirlineGatesRepository airlineGatesRepository) {
+ this.template = template;
+ this.reactiveTemplate = template.reactive();
+ this.airlineGatesRepository = airlineGatesRepository;
+ }
+
+ @Transactional
+ public void transferGates(String fromId, String toId, int gatesToTransfer, RuntimeException exceptionToThrow) {
+ AirlineGates fromAirlineGates = template.findById(AirlineGates.class).one(fromId);
+ AirlineGates toAirlineGates = template.findById(AirlineGates.class).one(toId);
+ toAirlineGates.gates += gatesToTransfer;
+ fromAirlineGates.gates -= gatesToTransfer;
+ template.save(fromAirlineGates);
+ if (exceptionToThrow != null) {
+ throw exceptionToThrow;
+ }
+ template.save(toAirlineGates);
+ }
+
+ @Transactional
+ public void transferGatesRepo(String fromId, String toId, int gatesToTransfer, RuntimeException exceptionToThrow) {
+ AirlineGates fromAirlineGates = airlineGatesRepository.findById(fromId).orElse(null);
+ AirlineGates toAirlineGates = airlineGatesRepository.findById(toId).orElse(null);
+ toAirlineGates.gates += gatesToTransfer;
+ fromAirlineGates.gates -= gatesToTransfer;
+ airlineGatesRepository.save(fromAirlineGates);
+ if (exceptionToThrow != null) {
+ throw exceptionToThrow;
+ }
+ airlineGatesRepository.save(toAirlineGates);
+ }
+
+ // The @Transactional annotation results in the method of the proxy for the service executing this in a transaction
+ @Transactional
+ public Mono transferGatesReactive(String fromId, String toId, int gatesToTransfer,
+ RuntimeException exceptionToThrow) {
+ return Mono.deferContextual(ctx -> {
+ AirlineGates fromAirlineGates = template.findById(AirlineGates.class).one(fromId);
+ AirlineGates toAirlineGates = template.findById(AirlineGates.class).one(toId);
+ toAirlineGates.gates += gatesToTransfer;
+ fromAirlineGates.gates -= gatesToTransfer;
+ template.save(fromAirlineGates);
+ if (exceptionToThrow != null) {
+ throw exceptionToThrow;
+ }
+ return reactiveTemplate.save(toAirlineGates).then();
+ });
+ }
+
+ // This does not have the @Transactional annotation therefore is not executed in a transaction
+ public AirlineGates save(AirlineGates airlineGates) {
+ return template.save(airlineGates);
+ }
+
+ // This does not have the @Transactional annotation therefore is not executed in a transaction
+ public AirlineGates findById(String id) {
+ return template.findById(AirlineGates.class).one(id);
+ }
+
+ // This does not have the @Transactional annotation therefore is not executed in a transaction
+ public AirlineGates saveRepo(AirlineGates airlineGates) {
+ return airlineGatesRepository.save(airlineGates);
+ }
+
+ // This does not have the @Transactional annotation therefore is not executed in a transaction
+ public AirlineGates findByIdRepo(String id) {
+ return airlineGatesRepository.findById(id).orElse(null);
+ }
+}
diff --git a/couchbase/transactions/src/main/java/com/example/demo/CmdRunner.java b/couchbase/transactions/src/main/java/com/example/demo/CmdRunner.java
new file mode 100644
index 000000000..63462cebf
--- /dev/null
+++ b/couchbase/transactions/src/main/java/com/example/demo/CmdRunner.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright 2022 the original author or authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.example.demo;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.data.couchbase.core.CouchbaseTemplate;
+import org.springframework.data.couchbase.transaction.error.TransactionSystemUnambiguousException;
+import org.springframework.stereotype.Component;
+import org.springframework.util.Assert;
+
+/**
+ * Components of the type CommandLineRunner are called right after the application start up. So the method *run* is
+ * called as soon as the application starts.
+ *
+ * @author Michael Reiche
+ */
+@Component
+public class CmdRunner implements CommandLineRunner {
+
+ @Autowired CouchbaseTemplate template;
+ @Autowired AirlineGatesService airlineGatesService;
+
+ // @Override
+ public void run(String... strings) {
+
+ try { // remove leftovers from previous run
+ template.removeById(AirlineGates.class).one("1");
+ } catch (Exception e) {}
+ try {
+ template.removeById(AirlineGates.class).one("2");
+ } catch (Exception e) {}
+
+ AirlineGates airlineGates1 = new AirlineGates("1", "American Airlines", "JFK", Long.valueOf(200)); // 1
+ AirlineGates airlineGates2 = new AirlineGates("2", "Lufthansa", "JFK", Long.valueOf(200));
+ AirlineGates saved1 = airlineGatesService.save(airlineGates1);
+ AirlineGates saved2 = airlineGatesService.save(airlineGates2);
+ AirlineGates found_a_1 = airlineGatesService.findById(saved1.getId()); // 2
+ AirlineGates found_a_2 = airlineGatesService.findById(saved2.getId());
+ System.err.println("initialized airlines");
+ System.err.println(" found before transferGates: " + found_a_1);
+ System.err.println(" found before transferGates: " + found_a_2);
+ // move 50 gates from airline1 to airline2
+ int gatesToTransfer = 50;
+ System.err.println("===============================================================");
+ System.err.println("this transferGates attempt will succeed. transferring " + gatesToTransfer);
+
+ airlineGatesService.transferGates(airlineGates1.getId(), airlineGates2.getId(), gatesToTransfer, null); // 3
+
+ AirlineGates found_b_1 = airlineGatesService.findById(airlineGates1.getId());
+ AirlineGates found_b_2 = airlineGatesService.findById(airlineGates2.getId());
+ System.err.println(" found after transferGates: " + found_b_1); // 4
+ System.err.println(" found after transferGates: " + found_b_2);
+ Assert.isTrue(found_b_1.getGates().equals(found_a_1.getGates() - gatesToTransfer), "should have transferred");
+ Assert.isTrue(found_b_2.getGates().equals(found_a_1.getGates() + gatesToTransfer), "should have transferred");
+ System.err.println("===============================================================");
+ gatesToTransfer = 44;
+ System.err.println("this transferGates attempt will fail. transferring " + gatesToTransfer);
+ // attempt to move 44 gates from airline1 to airline2, but it fails.
+ try {
+
+ airlineGatesService.transferGates(airlineGates1.getId(), airlineGates2.getId(), 44, new SimulateErrorException());
+
+ } catch (RuntimeException rte) {
+ if (!(rte instanceof TransactionSystemUnambiguousException) && rte != null
+ && rte.getCause() instanceof SimulateErrorException) {
+ throw rte;
+ }
+ System.err.println(" got exception " + rte);
+ }
+ AirlineGates found_c_1 = airlineGatesService.findById(airlineGates1.getId());
+ AirlineGates found_c_2 = airlineGatesService.findById(airlineGates2.getId());
+ System.err.println(" found after transferGates: " + found_c_1);
+ System.err.println(" found after transferGates: " + found_c_2);
+ Assert.isTrue(found_c_1.getGates().equals(found_b_1.getGates()), "should be same as previous");
+ Assert.isTrue(found_c_2.getGates().equals(found_b_2.getGates()), "should be same as previous");
+ System.err.println("===============================================================");
+ gatesToTransfer = 44;
+ System.err.println("this transferGates attempt will succeed. transferring " + gatesToTransfer);
+ try {
+
+ airlineGatesService.transferGatesReactive(airlineGates1.getId(), airlineGates2.getId(), gatesToTransfer, null)
+ .block();
+
+ } catch (RuntimeException rte) {
+ if (!(rte instanceof TransactionSystemUnambiguousException) && rte != null
+ && rte.getCause() instanceof SimulateErrorException) {
+ throw rte;
+ }
+ System.err.println(" got exception " + rte);
+ }
+ AirlineGates found_d_1 = airlineGatesService.findById(airlineGates1.getId());
+ AirlineGates found_d_2 = airlineGatesService.findById(airlineGates2.getId());
+ System.err.println(" found after transferGates: " + found_d_1);
+ System.err.println(" found after transferGates: " + found_d_2);
+ Assert.isTrue(found_d_1.getGates().equals(found_c_1.getGates() - gatesToTransfer), "should have transferred");
+ Assert.isTrue(found_d_2.getGates().equals(found_c_2.getGates() + gatesToTransfer), "should have transferred");
+ System.err.println("===============================================================");
+ }
+
+ static class SimulateErrorException extends RuntimeException {}
+}
diff --git a/couchbase/transactions/src/main/java/com/example/demo/Config.java b/couchbase/transactions/src/main/java/com/example/demo/Config.java
new file mode 100644
index 000000000..8f8685a73
--- /dev/null
+++ b/couchbase/transactions/src/main/java/com/example/demo/Config.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2022 the original author or authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.example.demo;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.couchbase.config.AbstractCouchbaseConfiguration;
+import org.springframework.data.couchbase.repository.config.EnableCouchbaseRepositories;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+import com.couchbase.client.core.msg.kv.DurabilityLevel;
+import com.couchbase.client.java.env.ClusterEnvironment;
+import com.couchbase.client.java.transactions.config.TransactionsConfig;
+
+/**
+ * @author Michael Reiche
+ */
+@Configuration
+@EnableCouchbaseRepositories({ "com.example.demo" })
+@EnableTransactionManagement
+public class Config extends AbstractCouchbaseConfiguration {
+ @Override
+ public String getConnectionString() {
+ return "127.0.0.1";
+ }
+
+ @Override
+ public String getUserName() {
+ return "Administrator";
+ }
+
+ @Override
+ public String getPassword() {
+ return "password";
+ }
+
+ @Override
+ public String getBucketName() {
+ return "travel-sample";
+ }
+
+ @Override
+ public void configureEnvironment(ClusterEnvironment.Builder builder) {
+ builder.transactionsConfig(TransactionsConfig.durabilityLevel(DurabilityLevel.NONE));
+ }
+
+}
diff --git a/geode/transactions/src/main/java/example/springdata/geode/client/transactions/server/TransactionalServer.java b/couchbase/transactions/src/main/java/com/example/demo/DemoApplication.java
old mode 100755
new mode 100644
similarity index 59%
rename from geode/transactions/src/main/java/example/springdata/geode/client/transactions/server/TransactionalServer.java
rename to couchbase/transactions/src/main/java/com/example/demo/DemoApplication.java
index a4465dce9..95e8ce5d9
--- a/geode/transactions/src/main/java/example/springdata/geode/client/transactions/server/TransactionalServer.java
+++ b/couchbase/transactions/src/main/java/com/example/demo/DemoApplication.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2022 the original author or authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -13,20 +13,19 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.geode.client.transactions.server;
+package com.example.demo;
-import org.springframework.boot.WebApplicationType;
+import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.builder.SpringApplicationBuilder;
/**
- * @author Patrick Johnson
+ * @author Michael Reiche
*/
@SpringBootApplication
-public class TransactionalServer {
+public class DemoApplication {
public static void main(String[] args) {
- new SpringApplicationBuilder(TransactionalServer.class).web(WebApplicationType.NONE).build().run(args);
+ SpringApplication.run(DemoApplication.class, args);
}
}
diff --git a/couchbase/transactions/src/main/resources/logback.xml b/couchbase/transactions/src/main/resources/logback.xml
new file mode 100644
index 000000000..a0a452dc7
--- /dev/null
+++ b/couchbase/transactions/src/main/resources/logback.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+ %d %5p %40.40c:%4L - %m%n
+
+
+
+
+
+
+
+
+
+
+
+ "
+
+ "
+
+
+
diff --git a/couchbase/transactions/src/test/java/com/example/demo/DemoApplicationTests.java b/couchbase/transactions/src/test/java/com/example/demo/DemoApplicationTests.java
new file mode 100644
index 000000000..3cd9e2ac2
--- /dev/null
+++ b/couchbase/transactions/src/test/java/com/example/demo/DemoApplicationTests.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2022 the original author or authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.example.demo;
+
+import example.springdata.couchbase.util.EnabledOnCouchbaseAvailable;
+
+import org.junit.jupiter.api.Test;
+
+import org.springframework.boot.test.context.SpringBootTest;
+
+/**
+ * @author Michael Reiche
+ * @author Christoph Strobl
+ */
+@SpringBootTest(classes = DemoApplication.class)
+@EnabledOnCouchbaseAvailable
+class DemoApplicationTests {
+
+ @Test
+ void contextLoads() {}
+}
diff --git a/couchbase/util/pom.xml b/couchbase/util/pom.xml
index e410edd10..1ae79db0e 100644
--- a/couchbase/util/pom.xml
+++ b/couchbase/util/pom.xml
@@ -1,11 +1,12 @@
-
+4.0.0org.springframework.data.examplesspring-data-couchbase-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
@@ -15,8 +16,9 @@
- junit
- junit
+ org.junit.jupiter
+ junit-jupiter-api
+ compile
diff --git a/couchbase/util/src/main/java/example/springdata/couchbase/util/CouchbaseAvailableRule.java b/couchbase/util/src/main/java/example/springdata/couchbase/util/CouchbaseAvailableRule.java
deleted file mode 100644
index f15af00cc..000000000
--- a/couchbase/util/src/main/java/example/springdata/couchbase/util/CouchbaseAvailableRule.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright 2017-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.couchbase.util;
-
-import java.io.IOException;
-import java.net.InetSocketAddress;
-import java.net.Socket;
-import java.time.Duration;
-
-import javax.net.SocketFactory;
-
-import org.junit.AssumptionViolatedException;
-import org.junit.rules.ExternalResource;
-
-
-/**
- * Rule to check Couchbase server availability. If Couchbase is not running, tests are skipped.
- *
- * @author Mark Paluch
- */
-public class CouchbaseAvailableRule extends ExternalResource {
-
- private final String host;
- private final int port;
- private final Duration timeout = Duration.ofSeconds(1);
-
- private CouchbaseAvailableRule(String host, int port) {
- this.host = host;
- this.port = port;
- }
-
- /**
- * Create a new rule requiring Couchbase running on {@code localhost} on {@code 8091}.
- *
- * @return the test rule.
- */
- public static CouchbaseAvailableRule onLocalhost() {
- return new CouchbaseAvailableRule("localhost", 8091);
- }
-
- @Override
- protected void before() throws Throwable {
-
- Socket socket = SocketFactory.getDefault().createSocket();
- try {
- socket.connect(new InetSocketAddress(host, port), Math.toIntExact(timeout.toMillis()));
- } catch (IOException e) {
- throw new AssumptionViolatedException(
- String.format("Couchbase not available on on %s:%d. Skipping tests.", host, port), e);
- } finally {
- socket.close();
- }
- }
-}
diff --git a/couchbase/util/src/main/java/example/springdata/couchbase/util/EnabledOnCouchbaseAvailable.java b/couchbase/util/src/main/java/example/springdata/couchbase/util/EnabledOnCouchbaseAvailable.java
new file mode 100644
index 000000000..82b047ac2
--- /dev/null
+++ b/couchbase/util/src/main/java/example/springdata/couchbase/util/EnabledOnCouchbaseAvailable.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2020-2021 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.couchbase.util;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import org.junit.jupiter.api.extension.ExtendWith;
+
+/**
+ * {@code @EnabledOnCouchbaseAvailable} is used to signal that the annotated test class or test method is only enabled
+ * if Couchbase is running.
+ *
+ * When applied at the class level, all test methods within that class will be enabled.
+ *
+ * @author Mark Paluch
+ */
+@Target({ ElementType.TYPE, ElementType.METHOD })
+@Retention(RetentionPolicy.RUNTIME)
+@Inherited
+@Documented
+@ExtendWith(EnabledOnCouchbaseCondition.class)
+public @interface EnabledOnCouchbaseAvailable {
+
+ /**
+ * Couchbase host.
+ */
+ String host() default "localhost";
+
+ /**
+ * Couchbase port number.
+ */
+ int port() default 8091;
+}
diff --git a/couchbase/util/src/main/java/example/springdata/couchbase/util/EnabledOnCouchbaseCondition.java b/couchbase/util/src/main/java/example/springdata/couchbase/util/EnabledOnCouchbaseCondition.java
new file mode 100644
index 000000000..5f63e040c
--- /dev/null
+++ b/couchbase/util/src/main/java/example/springdata/couchbase/util/EnabledOnCouchbaseCondition.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2020-2021 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.couchbase.util;
+
+import static org.junit.jupiter.api.extension.ConditionEvaluationResult.*;
+
+import java.io.IOException;
+import java.net.InetSocketAddress;
+import java.net.Socket;
+
+import org.junit.jupiter.api.extension.ConditionEvaluationResult;
+import org.junit.jupiter.api.extension.ExecutionCondition;
+import org.junit.jupiter.api.extension.ExtensionContext;
+import org.junit.platform.commons.util.AnnotationUtils;
+
+/**
+ * {@link ExecutionCondition} for {@link EnabledOnCouchbaseCondition @EnabledOnCouchbaseAvailable}.
+ *
+ * @author Mark Paluch
+ * @see EnabledOnCouchbaseCondition
+ */
+class EnabledOnCouchbaseCondition implements ExecutionCondition {
+
+ private static final ConditionEvaluationResult ENABLED_BY_DEFAULT = enabled("@EnabledOnCouchbaseAvailable is not present");
+
+ @Override
+ public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext context) {
+
+ var optional = AnnotationUtils.findAnnotation(context.getElement(), EnabledOnCouchbaseAvailable.class);
+
+ if (optional.isEmpty()) {
+ return ENABLED_BY_DEFAULT;
+ }
+
+ var annotation = optional.get();
+
+ try (var socket = new Socket()) {
+
+ socket.connect(new InetSocketAddress(annotation.host(), annotation.port()), 100);
+
+ return enabled(String.format("Connection successful to Couchbase at %s:%d", annotation.host(), annotation.port()));
+ } catch (IOException e) {
+ return disabled(
+ String.format("Cannot connect to Couchbase at %s:%d (%s)", annotation.host(), annotation.port(), e));
+ }
+ }
+
+}
diff --git a/elasticsearch/example/pom.xml b/elasticsearch/example/pom.xml
index 38528897c..f69d676a7 100644
--- a/elasticsearch/example/pom.xml
+++ b/elasticsearch/example/pom.xml
@@ -12,16 +12,11 @@
org.springframework.data.examplesspring-data-elasticsearch-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
-
- org.springframework.data.examples
- spring-data-elasticsearch-example-utils
-
-
org.springframework.bootspring-boot-starter-log4j2
diff --git a/elasticsearch/example/src/main/java/example/springdata/elasticsearch/conference/ApplicationConfiguration.java b/elasticsearch/example/src/main/java/example/springdata/elasticsearch/conference/ApplicationConfiguration.java
index fd297a04f..c725211a8 100644
--- a/elasticsearch/example/src/main/java/example/springdata/elasticsearch/conference/ApplicationConfiguration.java
+++ b/elasticsearch/example/src/main/java/example/springdata/elasticsearch/conference/ApplicationConfiguration.java
@@ -18,8 +18,8 @@
import java.util.Arrays;
import java.util.List;
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.SpringBootApplication;
diff --git a/elasticsearch/example/src/main/java/example/springdata/elasticsearch/conference/Conference.java b/elasticsearch/example/src/main/java/example/springdata/elasticsearch/conference/Conference.java
index b459b25be..ac2161c29 100644
--- a/elasticsearch/example/src/main/java/example/springdata/elasticsearch/conference/Conference.java
+++ b/elasticsearch/example/src/main/java/example/springdata/elasticsearch/conference/Conference.java
@@ -17,6 +17,9 @@
import static org.springframework.data.elasticsearch.annotations.FieldType.*;
+import lombok.Builder;
+import lombok.Data;
+
import java.util.List;
import org.springframework.data.annotation.Id;
@@ -24,9 +27,6 @@
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.core.geo.GeoPoint;
-import lombok.Builder;
-import lombok.Data;
-
/**
* @author Artur Konczak
* @author Oliver Gierke
@@ -43,16 +43,4 @@ public class Conference {
private GeoPoint location;
private List keywords;
- // do not remove it
- public Conference() {}
-
- // do not remove it - work around for lombok generated constructor for all params
- public Conference(String id, String name, String date, GeoPoint location, List keywords) {
-
- this.id = id;
- this.name = name;
- this.date = date;
- this.location = location;
- this.keywords = keywords;
- }
}
diff --git a/elasticsearch/example/src/main/resources/application.properties b/elasticsearch/example/src/main/resources/application.properties
deleted file mode 100644
index e3aca7751..000000000
--- a/elasticsearch/example/src/main/resources/application.properties
+++ /dev/null
@@ -1 +0,0 @@
-#spring.elasticsearch.rest.uris=http://localhost:9200
diff --git a/elasticsearch/example/src/main/resources/log4j2.xml b/elasticsearch/example/src/main/resources/log4j2.xml
new file mode 100644
index 000000000..feee1a0a6
--- /dev/null
+++ b/elasticsearch/example/src/main/resources/log4j2.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/elasticsearch/example/src/test/java/example/springdata/elasticsearch/conference/ElasticsearchOperationsTest.java b/elasticsearch/example/src/test/java/example/springdata/elasticsearch/conference/ElasticsearchOperationsTest.java
index 35ceb5c94..4a52ba8a8 100644
--- a/elasticsearch/example/src/test/java/example/springdata/elasticsearch/conference/ElasticsearchOperationsTest.java
+++ b/elasticsearch/example/src/test/java/example/springdata/elasticsearch/conference/ElasticsearchOperationsTest.java
@@ -17,22 +17,25 @@
import static org.assertj.core.api.Assertions.*;
-import example.springdata.elasticsearch.util.EnabledOnElasticsearch;
-
import java.text.ParseException;
import java.text.SimpleDateFormat;
import org.junit.jupiter.api.Test;
-
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.elasticsearch.client.ClientConfiguration;
+import org.springframework.data.elasticsearch.client.elc.ElasticsearchConfiguration;
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
-import org.springframework.data.elasticsearch.core.SearchHit;
-import org.springframework.data.elasticsearch.core.SearchHits;
import org.springframework.data.elasticsearch.core.geo.GeoPoint;
import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates;
import org.springframework.data.elasticsearch.core.query.Criteria;
import org.springframework.data.elasticsearch.core.query.CriteriaQuery;
+import org.springframework.util.Assert;
+import org.testcontainers.elasticsearch.ElasticsearchContainer;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.utility.DockerImageName;
/**
* Test case to show Spring Data Elasticsearch functionality.
@@ -41,15 +44,35 @@
* @author Oliver Gierke
* @author Christoph Strobl
* @author Prakhar Gupta
+ * @author Peter-Josef Meisch
*/
-@SpringBootTest(classes = ApplicationConfiguration.class)
-@EnabledOnElasticsearch
+@SpringBootTest(classes = { ApplicationConfiguration.class, ElasticsearchOperationsTest.TestConfiguration.class })
+@Testcontainers
class ElasticsearchOperationsTest {
private static final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ @Container //
+ private static final ElasticsearchContainer container = new ElasticsearchContainer(
+ DockerImageName.parse("docker.elastic.co/elasticsearch/elasticsearch:8.7.0")) //
+ .withPassword("foobar") //
+ .withReuse(true);
+
+ @Configuration
+ static class TestConfiguration extends ElasticsearchConfiguration {
+ @Override
+ public ClientConfiguration clientConfiguration() {
+
+ Assert.notNull(container, "TestContainer is not initialized!");
+
+ return ClientConfiguration.builder() //
+ .connectedTo(container.getHttpHostAddress()) //
+ .usingSsl(container.createSslContextFromCa()) //
+ .withBasicAuth("elastic", "foobar") //
+ .build();
+ }
+ }
- @Autowired
- ElasticsearchOperations operations;
+ @Autowired ElasticsearchOperations operations;
@Test
void textSearch() throws ParseException {
@@ -59,7 +82,7 @@ void textSearch() throws ParseException {
var query = new CriteriaQuery(
new Criteria("keywords").contains(expectedWord).and(new Criteria("date").greaterThanEqual(expectedDate)));
- var result = operations.search(query, Conference.class, IndexCoordinates.of("conference-index"));
+ var result = operations.search(query, Conference.class);
assertThat(result).hasSize(3);
diff --git a/elasticsearch/pom.xml b/elasticsearch/pom.xml
index 1f509d984..592c54c96 100644
--- a/elasticsearch/pom.xml
+++ b/elasticsearch/pom.xml
@@ -8,7 +8,7 @@
org.springframework.data.examplesspring-data-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTSpring Data Elasticsearch - Examples
@@ -16,7 +16,6 @@
https://github.com/spring-projects/spring-data-elasticsearch
- utilexamplereactive
@@ -44,6 +43,41 @@
+
+ org.testcontainers
+ testcontainers-elasticsearch
+ test
+
+
+
+ org.testcontainers
+ testcontainers-junit-jupiter
+ test
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+
+
+ org.apache.logging.log4j
+ log4j-core
+ ${log4j2.version}
+
+
+
+
+
+
+
diff --git a/elasticsearch/reactive/pom.xml b/elasticsearch/reactive/pom.xml
index ec944e186..fc886f8b9 100644
--- a/elasticsearch/reactive/pom.xml
+++ b/elasticsearch/reactive/pom.xml
@@ -1,6 +1,7 @@
-
+4.0.0spring-data-elasticsearch-reactive-example
@@ -12,14 +13,14 @@
org.springframework.data.examplesspring-data-elasticsearch-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
- org.springframework.data.examples
- spring-data-elasticsearch-example-utils
+ org.springframework.boot
+ spring-boot-starter-log4j2
@@ -30,6 +31,16 @@
org.springframework.bootspring-boot-starter-webflux
+
+
+ org.apache.logging.log4j
+ log4j-to-slf4j
+
+
+ ch.qos.logback
+ logback-classic
+
+
diff --git a/elasticsearch/reactive/src/main/java/example/springdata/elasticsearch/conference/ApplicationConfiguration.java b/elasticsearch/reactive/src/main/java/example/springdata/elasticsearch/conference/ApplicationConfiguration.java
index 4822aa921..0d852edbb 100644
--- a/elasticsearch/reactive/src/main/java/example/springdata/elasticsearch/conference/ApplicationConfiguration.java
+++ b/elasticsearch/reactive/src/main/java/example/springdata/elasticsearch/conference/ApplicationConfiguration.java
@@ -15,25 +15,14 @@
*/
package example.springdata.elasticsearch.conference;
-import reactor.test.StepVerifier;
-
-import java.io.IOException;
import java.util.Arrays;
-import java.util.List;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import org.elasticsearch.ElasticsearchStatusException;
-import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest;
-import org.elasticsearch.client.RequestOptions;
-import org.elasticsearch.client.indices.CreateIndexRequest;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.data.elasticsearch.client.ClientConfiguration;
-import org.springframework.data.elasticsearch.client.RestClients;
-import org.springframework.data.elasticsearch.core.ReactiveElasticsearchOperations;
+import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
import org.springframework.data.elasticsearch.core.geo.GeoPoint;
/**
@@ -42,28 +31,20 @@
@SpringBootApplication
class ApplicationConfiguration {
- @Autowired ReactiveElasticsearchOperations operations;
+ @Autowired ElasticsearchOperations operations;
@Autowired ConferenceRepository repository;
@PreDestroy
public void deleteIndex() {
- try {
- RestClients.create(ClientConfiguration.localhost()).rest().indices()
- .delete(new DeleteIndexRequest("conference-index"), RequestOptions.DEFAULT);
- } catch (IOException | ElasticsearchStatusException e) {
- // just ignore it
- }
+ operations.indexOps(Conference.class).delete();
}
@PostConstruct
public void insertDataSample() {
- try {
- RestClients.create(ClientConfiguration.localhost()).rest().indices()
- .create(new CreateIndexRequest("conference-index"), RequestOptions.DEFAULT);
- } catch (IOException | ElasticsearchStatusException e) {
- // just ignore it
- }
+ operations.indexOps(Conference.class).refresh();
+
+ // Save data sample
var documents = Arrays.asList(
Conference.builder().date("2014-11-06").name("Spring eXchange 2014 - London")
@@ -78,8 +59,8 @@ public void insertDataSample() {
Conference.builder().date("2014-10-04").name("JDD14 - Cracow").keywords(Arrays.asList("java", "spring"))
.location(new GeoPoint(50.0646501D, 19.9449799)).build());
- // Remove all documents
- repository.deleteAll().then(repository.saveAll(documents).then())
- .as(StepVerifier::create).verifyComplete();
+ operations.save(documents);
+ operations.indexOps(Conference.class).refresh(); // ensure we have all documents properly refreshed to avoid races
+ // between tests.
}
}
diff --git a/elasticsearch/reactive/src/main/resources/application.properties b/elasticsearch/reactive/src/main/resources/application.properties
deleted file mode 100644
index f5dac6c00..000000000
--- a/elasticsearch/reactive/src/main/resources/application.properties
+++ /dev/null
@@ -1 +0,0 @@
-spring.data.elasticsearch.client.reactive.endpoints=localhost:9200
diff --git a/elasticsearch/reactive/src/main/resources/log4j2.xml b/elasticsearch/reactive/src/main/resources/log4j2.xml
new file mode 100644
index 000000000..feee1a0a6
--- /dev/null
+++ b/elasticsearch/reactive/src/main/resources/log4j2.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/elasticsearch/reactive/src/test/java/example/springdata/elasticsearch/conference/ReactiveElasticsearchOperationsTest.java b/elasticsearch/reactive/src/test/java/example/springdata/elasticsearch/conference/ReactiveElasticsearchOperationsTest.java
index 23733f0bb..d446ec15c 100644
--- a/elasticsearch/reactive/src/test/java/example/springdata/elasticsearch/conference/ReactiveElasticsearchOperationsTest.java
+++ b/elasticsearch/reactive/src/test/java/example/springdata/elasticsearch/conference/ReactiveElasticsearchOperationsTest.java
@@ -17,35 +17,63 @@
import static org.assertj.core.api.Assertions.*;
-import example.springdata.elasticsearch.util.EnabledOnElasticsearch;
import reactor.test.StepVerifier;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import org.junit.jupiter.api.Test;
-
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.elasticsearch.client.ClientConfiguration;
+import org.springframework.data.elasticsearch.client.elc.ReactiveElasticsearchConfiguration;
import org.springframework.data.elasticsearch.core.ReactiveElasticsearchOperations;
import org.springframework.data.elasticsearch.core.SearchHit;
import org.springframework.data.elasticsearch.core.query.Criteria;
import org.springframework.data.elasticsearch.core.query.CriteriaQuery;
+import org.springframework.util.Assert;
+import org.testcontainers.elasticsearch.ElasticsearchContainer;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.utility.DockerImageName;
/**
* Test case to show Spring Data Elasticsearch functionality.
*
* @author Christoph Strobl
* @author Prakhar Gupta
+ * @author Peter-Josef Meisch
*/
-@EnabledOnElasticsearch
-@SpringBootTest(classes = ApplicationConfiguration.class)
+@SpringBootTest(
+ classes = { ApplicationConfiguration.class, ReactiveElasticsearchOperationsTest.TestConfiguration.class })
+@Testcontainers
class ReactiveElasticsearchOperationsTest {
private static final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- @Autowired
- ReactiveElasticsearchOperations operations;
+ @Container //
+ private static final ElasticsearchContainer container = new ElasticsearchContainer(
+ DockerImageName.parse("docker.elastic.co/elasticsearch/elasticsearch:9.0.3")) //
+ .withPassword("foobar") //
+ .withReuse(true);
+
+ @Configuration
+ static class TestConfiguration extends ReactiveElasticsearchConfiguration {
+ @Override
+ public ClientConfiguration clientConfiguration() {
+
+ Assert.notNull(container, "TestContainer is not initialized!");
+
+ return ClientConfiguration.builder() //
+ .connectedTo(container.getHttpHostAddress()) //
+ .usingSsl(container.createSslContextFromCa()) //
+ .withBasicAuth("elastic", "foobar") //
+ .build();
+ }
+ }
+
+ @Autowired ReactiveElasticsearchOperations operations;
@Test
void textSearch() {
@@ -53,7 +81,7 @@ void textSearch() {
var expectedDate = "2014-10-29";
var expectedWord = "java";
var query = new CriteriaQuery(
- new Criteria("keywords").contains(expectedWord).and("date").greaterThanEqual(expectedDate));
+ new Criteria("keywords").contains(expectedWord).and(new Criteria("date").greaterThanEqual(expectedDate)));
operations.search(query, Conference.class) //
.as(StepVerifier::create) //
diff --git a/elasticsearch/reactive/src/test/java/example/springdata/elasticsearch/conference/ReactiveElasticsearchRepositoryTest.java b/elasticsearch/reactive/src/test/java/example/springdata/elasticsearch/conference/ReactiveElasticsearchRepositoryTest.java
index 95fd42e73..ca921b883 100644
--- a/elasticsearch/reactive/src/test/java/example/springdata/elasticsearch/conference/ReactiveElasticsearchRepositoryTest.java
+++ b/elasticsearch/reactive/src/test/java/example/springdata/elasticsearch/conference/ReactiveElasticsearchRepositoryTest.java
@@ -17,31 +17,59 @@
import static org.assertj.core.api.Assertions.*;
-import example.springdata.elasticsearch.util.EnabledOnElasticsearch;
import reactor.test.StepVerifier;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import org.junit.jupiter.api.Test;
-
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.elasticsearch.client.ClientConfiguration;
+import org.springframework.data.elasticsearch.client.elc.ReactiveElasticsearchConfiguration;
+import org.springframework.util.Assert;
+import org.testcontainers.elasticsearch.ElasticsearchContainer;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.utility.DockerImageName;
/**
* Test case to show reactive Spring Data Elasticsearch repository functionality.
*
* @author Christoph Strobl
* @author Prakhar Gupta
+ * @author Peter-Josef Meisch
*/
-@EnabledOnElasticsearch
-@SpringBootTest(classes = ApplicationConfiguration.class)
+@SpringBootTest(
+ classes = { ApplicationConfiguration.class, ReactiveElasticsearchRepositoryTest.TestConfiguration.class })
+@Testcontainers
class ReactiveElasticsearchRepositoryTest {
private static final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- @Autowired
- ConferenceRepository repository;
+ @Container //
+ private static final ElasticsearchContainer container = new ElasticsearchContainer(
+ DockerImageName.parse("docker.elastic.co/elasticsearch/elasticsearch:9.0.3")) //
+ .withPassword("foobar") //
+ .withReuse(true);
+
+ @Configuration
+ static class TestConfiguration extends ReactiveElasticsearchConfiguration {
+ @Override
+ public ClientConfiguration clientConfiguration() {
+
+ Assert.notNull(container, "TestContainer is not initialized!");
+
+ return ClientConfiguration.builder() //
+ .connectedTo(container.getHttpHostAddress()) //
+ .usingSsl(container.createSslContextFromCa()) //
+ .withBasicAuth("elastic", "foobar") //
+ .build();
+ }
+ }
+
+ @Autowired ConferenceRepository repository;
@Test
void textSearch() {
diff --git a/elasticsearch/util/pom.xml b/elasticsearch/util/pom.xml
deleted file mode 100644
index 995bd40ae..000000000
--- a/elasticsearch/util/pom.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
- 4.0.0
-
-
- org.springframework.data.examples
- spring-data-elasticsearch-examples
- 2.0.0.BUILD-SNAPSHOT
-
-
- spring-data-elasticsearch-example-utils
- Spring Data Elasticsearch - Example Utilities
-
-
-
-
- org.junit.jupiter
- junit-jupiter-api
-
-
-
- org.junit.platform
- junit-platform-commons
- compile
-
-
-
- org.springframework
- spring-web
-
-
-
-
-
diff --git a/elasticsearch/util/src/main/java/example/springdata/elasticsearch/util/ElasticsearchAvailableCondition.java b/elasticsearch/util/src/main/java/example/springdata/elasticsearch/util/ElasticsearchAvailableCondition.java
deleted file mode 100644
index b7fd60faf..000000000
--- a/elasticsearch/util/src/main/java/example/springdata/elasticsearch/util/ElasticsearchAvailableCondition.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright 2021-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.elasticsearch.util;
-
-import org.junit.jupiter.api.extension.ConditionEvaluationResult;
-import org.junit.jupiter.api.extension.ExecutionCondition;
-import org.junit.jupiter.api.extension.ExtensionContext;
-import org.junit.platform.commons.support.AnnotationSupport;
-
-import org.springframework.http.HttpMethod;
-import org.springframework.web.client.RestTemplate;
-
-/**
- * {@link ExecutionCondition} evaluating {@link EnabledOnElasticsearch @EnableOnElasticsearch}.
- *
- * @author Christoph Strobl
- * @author Prakhar Gupta
- */
-class ElasticsearchAvailableCondition implements ExecutionCondition {
-
- @Override
- public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext extensionContext) {
-
- var annotation = AnnotationSupport.findAnnotation(extensionContext.getElement(),
- EnabledOnElasticsearch.class);
-
- return annotation.map(EnabledOnElasticsearch::url) //
- .map(ElasticsearchAvailableCondition::checkServerRunning) //
- .orElse(ConditionEvaluationResult.enabled("Enabled by default"));
- }
-
- private static ConditionEvaluationResult checkServerRunning(String url) {
-
- var template = new RestTemplate();
-
- try {
- var entity = template.exchange(url, HttpMethod.HEAD, null, byte[].class);
- return ConditionEvaluationResult
- .enabled("Successfully connected to Elasticsearch server: " + entity.getStatusCode());
- } catch (RuntimeException e) {
- return ConditionEvaluationResult.disabled("Elasticsearch unavailable at " + url + "; " + e.getMessage());
- }
- }
-}
diff --git a/elasticsearch/util/src/main/java/example/springdata/elasticsearch/util/EnabledOnElasticsearch.java b/elasticsearch/util/src/main/java/example/springdata/elasticsearch/util/EnabledOnElasticsearch.java
deleted file mode 100644
index dc6c6837e..000000000
--- a/elasticsearch/util/src/main/java/example/springdata/elasticsearch/util/EnabledOnElasticsearch.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright 2021-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.elasticsearch.util;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.junit.jupiter.api.extension.ExtendWith;
-
-/**
- * {@code @EnableOnElasticsearch} is used to signal that the annotated test class or test method is only
- * enabled if Elasticsearch is available at {@link #url()}.
- *
- * When applied at the class level, all test methods within that class will be enabled if Elasticsearch is available.
- *
- * If a test method is disabled via this annotation, that does not prevent the test class from being instantiated.
- * Rather, it prevents the execution of the test method and method-level lifecycle callbacks such as {@code @BeforeEach}
- * methods, {@code @AfterEach} methods, and corresponding extension APIs.
- *
- * @author Prakhar Gupta
- * @author Mark Paluch
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.TYPE, ElementType.METHOD})
-@ExtendWith(ElasticsearchAvailableCondition.class)
-public @interface EnabledOnElasticsearch {
-
- /**
- * URL pointing at the Elasticsearch instance to check.
- */
- String url() default "http://localhost:9200/";
-
-}
diff --git a/geode/README.md b/geode/README.md
deleted file mode 100755
index 51469670f..000000000
--- a/geode/README.md
+++ /dev/null
@@ -1,22 +0,0 @@
-Spring Data For GemFire and Apache Geode Examples
-=========================================================
-
-This project provides a number of examples to get you started using Spring Data for Apache Geode or Pivotal GemFire. These examples are designed to work with [Spring Data for Pivotal GemFire](http://projects.spring.io/spring-data-gemfire) 2.0.9-RELEASE or higher and are organized into the following sub projects:
-
-It is important to note that all examples will follow the prescribed Maven directory structure.
-
-Examples:
-
-* **events** - In this example the test will make use of event handlers and async event queue to handle events.
-* **expiration-eviction** - In these examples the server is configured to delete entries after a certain idle period or after a Time-To-Live period (expiration0 or remove data from memory when certain thresholds are reached (eviction).
-* **function-invocation** - In this example the server will have 3 functions registered. The client will invoke each of the functions.
-* **queries** - In this example a client will query the data in various ways using OQl, continuous queries, and Apache Lucene indexes.
-* **security** - In this example the servers and clients are set up with security (username/password) authentication using Geode Security and Apache Shiro.
-* **storage** - In this example the server is configured to store data off of hte JVM heap using the `@EnableOffHeap` annotation and to compress region data using SnappyCompressor`.
-* **transactions** - In this example the client will perform operations within a transaction. First, it will do a successful transaction where entries are saved to the server, and then a failed transaction where all changes are reverted.
-* **wan** - In these example two servers are deployed. One server populates itself with data, and the other server gets populated with that data via WAN replication.
-
-# Running The Examples
-
-Each example has at least one test file located in the test directory. The examples are driven by the tests, so simply run the test either through your IDE or via the commandline.
-The logging level of the examples is set to "error", so there will be no output. To see output, simply find the `logback.xml` file located in src/test/resources and set the loglevel to "info".
\ No newline at end of file
diff --git a/geode/events/README.md b/geode/events/README.md
deleted file mode 100755
index 129331623..000000000
--- a/geode/events/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Events Example
-
-In this example you will how to handle events using Async event queue, Cache Listeners, Cache Loaders, and Cache Writers.
-
-NOTE: Inorder to see output, you must change the loglevel from "error" to "info" in the `logback.xml` file located under src/test/resources.
\ No newline at end of file
diff --git a/geode/events/pom.xml b/geode/events/pom.xml
deleted file mode 100755
index b8cd23977..000000000
--- a/geode/events/pom.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
- 4.0.0
-
-
- org.springframework.data.examples
- spring-data-geode-examples
- 2.0.0.BUILD-SNAPSHOT
-
-
- spring-data-geode-events-example
- Spring Data Geode - Events
-
-
diff --git a/geode/events/src/main/java/example/springdata/geode/server/events/Address.java b/geode/events/src/main/java/example/springdata/geode/server/events/Address.java
deleted file mode 100755
index 3c961a819..000000000
--- a/geode/events/src/main/java/example/springdata/geode/server/events/Address.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.events;
-
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * An address used in the examples.
- *
- * @author Oliver Gierke
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
- */
-@Data
-public class Address implements Serializable {
-
- private String street;
- private String city;
- private String country;
-
- public Address(String street, String city, String country) {
- this.street = street;
- this.city = city;
- this.country = country;
- }
-}
diff --git a/geode/events/src/main/java/example/springdata/geode/server/events/Customer.java b/geode/events/src/main/java/example/springdata/geode/server/events/Customer.java
deleted file mode 100755
index 9c7c5669c..000000000
--- a/geode/events/src/main/java/example/springdata/geode/server/events/Customer.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.events;
-
-import lombok.Data;
-import org.springframework.data.annotation.Id;
-import org.springframework.data.gemfire.mapping.annotation.Region;
-
-import java.io.Serializable;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * A customer used for Lucene examples.
- *
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
- */
-@Data
-@Region(name = "Customers")
-public class Customer implements Serializable {
-
- @Id
- private Long id;
- private EmailAddress emailAddress;
- private String firstName;
- private String lastName;
- private List
addresses;
-
- public Customer(Long id, EmailAddress emailAddress, String firstName, String lastName, Address... addresses) {
- this.id = id;
- this.emailAddress = emailAddress;
- this.firstName = firstName;
- this.lastName = lastName;
- this.addresses = Arrays.asList(addresses);
- }
-}
diff --git a/geode/events/src/main/java/example/springdata/geode/server/events/CustomerCacheWriter.java b/geode/events/src/main/java/example/springdata/geode/server/events/CustomerCacheWriter.java
deleted file mode 100755
index 42401f410..000000000
--- a/geode/events/src/main/java/example/springdata/geode/server/events/CustomerCacheWriter.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.events;
-
-import org.apache.geode.cache.CacheWriterException;
-import org.apache.geode.cache.EntryEvent;
-import org.apache.geode.cache.util.CacheWriterAdapter;
-import org.apache.geode.internal.cache.EntryEventImpl;
-import org.springframework.stereotype.Component;
-
-/**
- * @author Patrick Johnson
- */
-@Component
-public class CustomerCacheWriter extends CacheWriterAdapter {
-
- @Override
- public void beforeCreate(EntryEvent event) throws CacheWriterException {
- var e = (EntryEventImpl) event;
- super.beforeCreate(e);
- }
-}
diff --git a/geode/events/src/main/java/example/springdata/geode/server/events/EventServer.java b/geode/events/src/main/java/example/springdata/geode/server/events/EventServer.java
deleted file mode 100755
index 3029540e1..000000000
--- a/geode/events/src/main/java/example/springdata/geode/server/events/EventServer.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.events;
-
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Random;
-import java.util.stream.IntStream;
-import java.util.stream.LongStream;
-
-import lombok.extern.apachecommons.CommonsLog;
-import org.apache.geode.cache.Region;
-
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.boot.ApplicationRunner;
-import org.springframework.boot.WebApplicationType;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.builder.SpringApplicationBuilder;
-import org.springframework.context.annotation.Bean;
-
-/**
- * @author Patrick Johnson
- */
-@SpringBootApplication
-@CommonsLog
-public class EventServer {
-
- public static void main(String[] args) {
- new SpringApplicationBuilder(EventServer.class).web(WebApplicationType.NONE).build().run(args);
- }
-
- @Bean
- public ApplicationRunner runner(CustomerRepository customerRepository, OrderRepository orderRepository,
- ProductRepository productRepository, OrderProductSummaryRepository orderProductSummaryRepository,
- @Qualifier("Products") Region products) {
- return args -> {
- createCustomerData(customerRepository);
-
- createProducts(productRepository);
-
- createOrders(productRepository, orderRepository);
-
- log.info("Completed creating orders ");
-
- var allForProductID = orderProductSummaryRepository.findAllForProductID(3L);
- allForProductID.forEach(orderProductSummary -> log.info("orderProductSummary = " + orderProductSummary));
- };
- }
-
- private void createOrders(ProductRepository productRepository, OrderRepository orderRepository) {
- var random = new Random(System.nanoTime());
- var address = new Address("it", "doesn't", "matter");
- LongStream.rangeClosed(1, 10).forEach((orderId) -> LongStream.rangeClosed(1, 300).forEach((customerId) -> {
- var order = new Order(orderId, customerId, address);
- IntStream.rangeClosed(0, random.nextInt(3) + 1).forEach((lineItemCount) -> {
- var quantity = random.nextInt(3) + 1;
- long productId = random.nextInt(3) + 1;
- order.add(new LineItem(productRepository.findById(productId).get(), quantity));
- });
- orderRepository.save(order);
- }));
- }
-
- private void createProducts(ProductRepository productRepository) {
- productRepository.save(new Product(1L, "Apple iPod", new BigDecimal("99.99"), "An Apple portable music player"));
- productRepository.save(new Product(2L, "Apple iPad", new BigDecimal("499.99"), "An Apple tablet device"));
- var macbook = new Product(3L, "Apple macBook", new BigDecimal("899.99"), "An Apple notebook computer");
- macbook.addAttribute("warranty", "included");
- productRepository.save(macbook);
- }
-
- private void createCustomerData(CustomerRepository customerRepository) {
- LongStream.rangeClosed(0, 300).parallel().forEach(customerId -> customerRepository.save(
- new Customer(customerId, new EmailAddress(customerId + "@2.com"), "John" + customerId, "Smith" + customerId)));
- }
-}
diff --git a/geode/events/src/main/java/example/springdata/geode/server/events/EventServerConfig.java b/geode/events/src/main/java/example/springdata/geode/server/events/EventServerConfig.java
deleted file mode 100755
index 5d936c5b3..000000000
--- a/geode/events/src/main/java/example/springdata/geode/server/events/EventServerConfig.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.events;
-
-import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.CacheListener;
-import org.apache.geode.cache.CacheLoader;
-import org.apache.geode.cache.CacheWriter;
-import org.apache.geode.cache.DataPolicy;
-import org.apache.geode.cache.GemFireCache;
-import org.apache.geode.cache.Region;
-import org.apache.geode.cache.asyncqueue.AsyncEventListener;
-import org.apache.geode.cache.asyncqueue.AsyncEventQueue;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.data.gemfire.PartitionedRegionFactoryBean;
-import org.springframework.data.gemfire.ReplicatedRegionFactoryBean;
-import org.springframework.data.gemfire.config.annotation.CacheServerApplication;
-import org.springframework.data.gemfire.repository.config.EnableGemfireRepositories;
-import org.springframework.data.gemfire.wan.AsyncEventQueueFactoryBean;
-
-@Configuration
-@ComponentScan
-@CacheServerApplication(logLevel = "error")
-@EnableGemfireRepositories(basePackageClasses = CustomerRepository.class)
-public class EventServerConfig {
-
- @Bean
- AsyncEventListener orderAsyncEventListener(@Qualifier("OrderProductSummary") Region orderProductSummary) {
- return new OrderAsyncQueueListener(orderProductSummary);
- }
-
- @Bean
- AsyncEventQueueFactoryBean orderAsyncEventQueue(GemFireCache gemFireCache, AsyncEventListener orderAsyncEventListener) {
- var asyncEventQueueFactoryBean = new AsyncEventQueueFactoryBean((Cache) gemFireCache);
- asyncEventQueueFactoryBean.setBatchTimeInterval(1000);
- asyncEventQueueFactoryBean.setBatchSize(5);
- asyncEventQueueFactoryBean.setAsyncEventListener(orderAsyncEventListener);
- return asyncEventQueueFactoryBean;
- }
-
- @Bean(name = "OrderProductSummary")
- PartitionedRegionFactoryBean createOrderProductSummaryRegion(GemFireCache gemFireCache) {
- PartitionedRegionFactoryBean partitionedRegionFactoryBean = new PartitionedRegionFactoryBean<>();
- partitionedRegionFactoryBean.setCache(gemFireCache);
- partitionedRegionFactoryBean.setRegionName("OrderProductSummary");
- partitionedRegionFactoryBean.setDataPolicy(DataPolicy.PARTITION);
- return partitionedRegionFactoryBean;
- }
-
- @Bean("Orders")
- PartitionedRegionFactoryBean createOrderRegion(GemFireCache gemFireCache, AsyncEventQueue orderAsyncEventQueue) {
- PartitionedRegionFactoryBean partitionedRegionFactoryBean = new PartitionedRegionFactoryBean<>();
- partitionedRegionFactoryBean.setCache(gemFireCache);
- partitionedRegionFactoryBean.setRegionName("Orders");
- partitionedRegionFactoryBean.setDataPolicy(DataPolicy.PARTITION);
- partitionedRegionFactoryBean.setAsyncEventQueues(new AsyncEventQueue[]{orderAsyncEventQueue});
- return partitionedRegionFactoryBean;
- }
-
- @Bean("Products")
- ReplicatedRegionFactoryBean createProductRegion(GemFireCache gemFireCache, CacheListener loggingCacheListener,
- CacheLoader productCacheLoader) {
- ReplicatedRegionFactoryBean replicatedRegionFactoryBean = new ReplicatedRegionFactoryBean<>();
- replicatedRegionFactoryBean.setCache(gemFireCache);
- replicatedRegionFactoryBean.setRegionName("Products");
- replicatedRegionFactoryBean.setDataPolicy(DataPolicy.REPLICATE);
- replicatedRegionFactoryBean.setCacheLoader(productCacheLoader);
- replicatedRegionFactoryBean.setCacheListeners(new CacheListener[]{loggingCacheListener});
- return replicatedRegionFactoryBean;
- }
-
- @Bean("Customers")
- ReplicatedRegionFactoryBean createCustomerRegion(GemFireCache gemFireCache,
- CacheWriter customerCacheWriter,
- CacheListener loggingCacheListener) {
- ReplicatedRegionFactoryBean replicatedRegionFactoryBean = new ReplicatedRegionFactoryBean<>();
- replicatedRegionFactoryBean.setCache(gemFireCache);
- replicatedRegionFactoryBean.setRegionName("Customers");
- replicatedRegionFactoryBean.setDataPolicy(DataPolicy.REPLICATE);
- replicatedRegionFactoryBean.setCacheListeners(new CacheListener[]{loggingCacheListener});
- replicatedRegionFactoryBean.setCacheWriter(customerCacheWriter);
- return replicatedRegionFactoryBean;
- }
-}
diff --git a/geode/events/src/main/java/example/springdata/geode/server/events/LineItem.java b/geode/events/src/main/java/example/springdata/geode/server/events/LineItem.java
deleted file mode 100755
index 0d3e2cd6e..000000000
--- a/geode/events/src/main/java/example/springdata/geode/server/events/LineItem.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.events;
-
-import lombok.Data;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-
-/**
- * A LineItem used in the examples
- *
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
- */
-@Data
-public class LineItem implements Serializable {
-
- private Product product;
- private Integer amount;
-
- public LineItem(Product product, Integer amount) {
- this.product = product;
- this.amount = amount;
- }
-
- public BigDecimal calcTotal() {
- return product.getPrice().multiply(BigDecimal.valueOf(amount));
- }
-
- public Long getProductId() {
- return product.getId();
- }
-}
diff --git a/geode/events/src/main/java/example/springdata/geode/server/events/LoggingCacheListener.java b/geode/events/src/main/java/example/springdata/geode/server/events/LoggingCacheListener.java
deleted file mode 100644
index 1d23e2966..000000000
--- a/geode/events/src/main/java/example/springdata/geode/server/events/LoggingCacheListener.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.events;
-
-import lombok.extern.apachecommons.CommonsLog;
-import org.apache.geode.cache.EntryEvent;
-import org.apache.geode.cache.util.CacheListenerAdapter;
-import org.springframework.stereotype.Component;
-
-/**
- * @author Patrick Johnson
- */
-@Component
-@CommonsLog
-public class LoggingCacheListener extends CacheListenerAdapter {
-
-
- @Override
- public void afterCreate(EntryEvent event) {
- log.info("In region [" + event.getRegion().getName() + "] created key [" + event.getKey() + "] value ["
- + event.getNewValue() + "]");
- }
-
- @Override
- public void afterDestroy(EntryEvent event) {
- log.info("In region [" + event.getRegion().getName() + "] destroyed key [" + event.getKey() + "] ");
- }
-
- @Override
- public void afterUpdate(EntryEvent event) {
- log.info("In region [" + event.getRegion().getName() + "] updated key [" + event.getNewValue() + "] [oldValue ["
- + event.getOldValue() + "]] new value [" + event.getNewValue() + "]");
- }
-}
diff --git a/geode/events/src/main/java/example/springdata/geode/server/events/Order.java b/geode/events/src/main/java/example/springdata/geode/server/events/Order.java
deleted file mode 100755
index e9ae14348..000000000
--- a/geode/events/src/main/java/example/springdata/geode/server/events/Order.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.events;
-
-import lombok.Data;
-import org.springframework.data.annotation.Id;
-import org.springframework.data.gemfire.mapping.annotation.Region;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Orders object used in the examples
- *
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
- */
-@Data
-@Region("Orders")
-public class Order implements Serializable {
-
- @Id
- private Long id;
- private Long customerId;
- private Address billingAddress;
- private Address shippingAddress;
- private List lineItems = new ArrayList<>();
-
- public Order(Long orderId, Long customerId, Address address) {
- this.id = orderId;
- this.customerId = customerId;
- this.billingAddress = address;
- this.shippingAddress = address;
- }
-
- /**
- * Returns the total of the [Order].
- *
- * @return
- */
- public BigDecimal calcTotal() {
- if (lineItems.size() == 0) {
- return BigDecimal.ZERO;
- } else {
- return lineItems.stream().map(LineItem::calcTotal).reduce(BigDecimal::add).get();
- }
- }
-
- /**
- * Adds the given [LineItem] to the [Order].
- *
- * @param lineItem
- */
- public void add(LineItem lineItem) {
- lineItems.add(lineItem);
- }
-}
diff --git a/geode/events/src/main/java/example/springdata/geode/server/events/OrderAsyncQueueListener.java b/geode/events/src/main/java/example/springdata/geode/server/events/OrderAsyncQueueListener.java
deleted file mode 100755
index 1f0e72122..000000000
--- a/geode/events/src/main/java/example/springdata/geode/server/events/OrderAsyncQueueListener.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.events;
-
-import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.geode.cache.Region;
-import org.apache.geode.cache.asyncqueue.AsyncEvent;
-import org.apache.geode.cache.asyncqueue.AsyncEventListener;
-
-/**
- * @author Patrick Johnson
- */
-public class OrderAsyncQueueListener implements AsyncEventListener {
-
- private Region summaryRegion;
-
- public OrderAsyncQueueListener(Region summaryRegion) {
- this.summaryRegion = summaryRegion;
- }
-
- @Override
- public boolean processEvents(List list) {
- Map summaryMap = new HashMap<>();
- list.forEach(asyncEvent -> {
- var order = (Order) asyncEvent.getDeserializedValue();
- if (order != null) {
- order.getLineItems().forEach(lineItem -> {
- var orderProductSummary = summaryMap.get(lineItem.getProductId());
- if (orderProductSummary == null) {
- orderProductSummary = new OrderProductSummary(lineItem.getProductId(), new BigDecimal("0.00"));
- }
- orderProductSummary.setSummaryAmount(orderProductSummary.getSummaryAmount().add(lineItem.calcTotal()));
- summaryMap.put(lineItem.getProductId(), orderProductSummary);
- });
- }
- });
-
- summaryMap.forEach((orderProductSummaryKey, orderProductSummary) -> {
- OrderProductSummary productSummary = summaryRegion.get(orderProductSummaryKey);
- if (productSummary != null) {
- BigDecimal newSummaryAmount = productSummary.getSummaryAmount().add(orderProductSummary.getSummaryAmount());
- summaryRegion.put(orderProductSummaryKey, new OrderProductSummary(orderProductSummaryKey, newSummaryAmount));
- } else {
- summaryRegion.put(orderProductSummaryKey, orderProductSummary);
- }
- });
-
- return true;
- }
-}
diff --git a/geode/events/src/main/java/example/springdata/geode/server/events/OrderProductSummary.java b/geode/events/src/main/java/example/springdata/geode/server/events/OrderProductSummary.java
deleted file mode 100644
index 99402d4be..000000000
--- a/geode/events/src/main/java/example/springdata/geode/server/events/OrderProductSummary.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.events;
-
-import lombok.Data;
-import org.springframework.data.annotation.Id;
-import org.springframework.data.gemfire.mapping.annotation.Region;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-
-/**
- * OrderProductSummary is an object used in the examples to show a summary of all Orders on a per product basis, on a per
- * timeframe shard (every 10s, or every 1hr)
- *
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
- */
-@Data
-@Region("OrderProductSummary")
-public class OrderProductSummary implements Serializable {
-
- @Id
- private Long summaryKey;
-
- private BigDecimal summaryAmount;
-
- public OrderProductSummary(Long summaryKey, BigDecimal summaryAmount) {
- this.summaryKey = summaryKey;
- this.summaryAmount = summaryAmount;
- }
-}
diff --git a/geode/events/src/main/java/example/springdata/geode/server/events/OrderProductSummaryRepository.java b/geode/events/src/main/java/example/springdata/geode/server/events/OrderProductSummaryRepository.java
deleted file mode 100755
index 0625c7f5f..000000000
--- a/geode/events/src/main/java/example/springdata/geode/server/events/OrderProductSummaryRepository.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.events;
-
-import java.util.List;
-
-import org.springframework.data.gemfire.mapping.annotation.Region;
-import org.springframework.data.gemfire.repository.Query;
-import org.springframework.data.gemfire.repository.query.annotation.Hint;
-import org.springframework.data.repository.CrudRepository;
-
-/**
- * @author Patrick Johnson
- */
-@Region("OrderProductSummary")
-public interface OrderProductSummaryRepository extends CrudRepository {
- @Hint("emailAddressIndex")
- @Query("select orderSummary.value from /OrderProductSummary.entrySet orderSummary where orderSummary.key = $1")
- List findAllForProductID(long l);
-}
diff --git a/geode/events/src/main/java/example/springdata/geode/server/events/Product.java b/geode/events/src/main/java/example/springdata/geode/server/events/Product.java
deleted file mode 100755
index c45d85898..000000000
--- a/geode/events/src/main/java/example/springdata/geode/server/events/Product.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.events;
-
-import lombok.Data;
-import org.springframework.data.annotation.Id;
-import org.springframework.data.annotation.PersistenceConstructor;
-import org.springframework.data.annotation.Transient;
-import org.springframework.data.gemfire.mapping.annotation.Region;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * A product used in the examples.
- *
- * @author Oliver Gierke
- * @author David Turanski
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
- */
-@Data
-@Region("Products")
-public class Product implements Serializable {
-
- @Id
- private Long id;
- private String name;
- private BigDecimal price;
- private String description;
-
- @Transient
- private Map attributes = new HashMap<>();
-
- @PersistenceConstructor
- public Product(Long id, String name, BigDecimal price, String description) {
- this.id = id;
- this.name = name;
- this.price = price;
- this.description = description;
- }
-
- /**
- * Sets the attribute with the given name to the given value.
- *
- * @param name must not be null or empty.
- * @param value
- */
- public void addAttribute(String name, String value) {
- this.attributes.put(name, value);
- }
-}
diff --git a/geode/events/src/main/java/example/springdata/geode/server/events/ProductCacheLoader.java b/geode/events/src/main/java/example/springdata/geode/server/events/ProductCacheLoader.java
deleted file mode 100755
index 488e54099..000000000
--- a/geode/events/src/main/java/example/springdata/geode/server/events/ProductCacheLoader.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.events;
-
-import lombok.SneakyThrows;
-
-import java.math.BigDecimal;
-import java.text.DecimalFormat;
-
-import org.apache.geode.cache.CacheLoader;
-import org.apache.geode.cache.CacheLoaderException;
-import org.apache.geode.cache.LoaderHelper;
-
-import org.springframework.stereotype.Component;
-
-import com.github.javafaker.Faker;
-
-/**
- * @author Patrick Johnson
- */
-@Component
-public class ProductCacheLoader implements CacheLoader {
- private Faker faker = new Faker();
-
- @Override
- public Product load(LoaderHelper loaderHelper) throws CacheLoaderException {
- return new Product((long) loaderHelper.getKey(), randomStringName(), randomPrice(), "");
- }
-
- @SneakyThrows
- private BigDecimal randomPrice() {
- return new BigDecimal(new DecimalFormat("#0.00").parse(faker.commerce().price()).toString());
- }
-
- private String randomStringName() {
- return faker.commerce().productName();
- }
-}
diff --git a/geode/events/src/test/java/example/springdata/geode/server/events/EventServerTests.java b/geode/events/src/test/java/example/springdata/geode/server/events/EventServerTests.java
deleted file mode 100755
index 82190d093..000000000
--- a/geode/events/src/test/java/example/springdata/geode/server/events/EventServerTests.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.events;
-
-import static org.assertj.core.api.Assertions.*;
-
-import org.apache.geode.cache.Cache;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringRunner;
-
-/**
- * @author Patrick Johnson
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest
-public class EventServerTests {
-
- @Autowired Cache cache;
-
- @Autowired private ProductRepository productRepository;
-
- @Autowired private OrderProductSummaryRepository orderProductSummaryRepository;
-
- @Test
- public void asyncEventQueueEasConfiguredCorrectly() {
- assertThat(this.orderProductSummaryRepository.count()).isEqualTo(3);
- }
-
- @Test
- public void productCacheLoaderWorks() {
-
- var size = productRepository.count();
-
- assertThat(this.productRepository.findById(777L)).isNotNull();
- assertThat(productRepository.count()).isEqualTo(size + 1);
-
- productRepository.deleteById(777L);
- }
-}
diff --git a/geode/events/src/test/resources/logback.xml b/geode/events/src/test/resources/logback.xml
deleted file mode 100644
index f3b82068a..000000000
--- a/geode/events/src/test/resources/logback.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- %msg%n
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/geode/expiration-eviction/README.md b/geode/expiration-eviction/README.md
deleted file mode 100755
index b7f95b2fe..000000000
--- a/geode/expiration-eviction/README.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Expiration and Eviction Example
-
-In this example we will show you ways to automatically remove data from your region. There are two ways to do this; Expiration and Eviction.
-
-1. Expiration removes data after it has existed for a certain amount of time or after it has been unused for a certain amount of time. There are multiple ways to configure Expiration that will be shown in this example.
- 1. Configure an eviction policy on the region using the `@EnableExpiration` and `@ExpirationPolicy` annotations.
- 2. Configure a custom eviction policy to extending `CustomExpiry`.
- 3. Entity defined expiration using the `@IdleTimeoutExpiration` and `@TimeToLiveExpiration` annotations.
-
-Entity defined expiration has its own test class because it has a lower priority and is trumped by the expiration policy defined on the `@EnableExpiration` annotation. The polices defined on the `@EnableExpiration` annotation can be found in ExpirationPolicyConfig.
-
-NOTE: Inorder to see output, you must change the loglevel from "error" to "info" in the `logback.xml` file located under src/test/resources.
\ No newline at end of file
diff --git a/geode/expiration-eviction/pom.xml b/geode/expiration-eviction/pom.xml
deleted file mode 100755
index 2df41222e..000000000
--- a/geode/expiration-eviction/pom.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
- 4.0.0
-
-
- org.springframework.data.examples
- spring-data-geode-examples
- 2.0.0.BUILD-SNAPSHOT
-
-
- spring-data-geode-expiration-eviction-example
- Spring Data Geode - Expiration
-
-
-
- org.awaitility
- awaitility
- test
-
-
-
-
diff --git a/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/CustomCustomerExpiry.java b/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/CustomCustomerExpiry.java
deleted file mode 100755
index c9cb54699..000000000
--- a/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/CustomCustomerExpiry.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.expiration.eviction;
-
-import org.apache.geode.cache.CustomExpiry;
-import org.apache.geode.cache.ExpirationAction;
-import org.apache.geode.cache.ExpirationAttributes;
-import org.apache.geode.cache.Region;
-
-/**
- * @author Patrick Johnson
- */
-public class CustomCustomerExpiry implements CustomExpiry {
-
- private final int timeout;
-
- public CustomCustomerExpiry(int timeout) {
- this.timeout = timeout;
- }
-
- @Override
- public ExpirationAttributes getExpiry(Region.Entry entry) {
- if (entry.getKey() % 3 == 0) {
- return new ExpirationAttributes(timeout, ExpirationAction.DESTROY);
- }
- return null;
- }
-}
diff --git a/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/Customer.java b/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/Customer.java
deleted file mode 100755
index f21c76fd1..000000000
--- a/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/Customer.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.expiration.eviction;
-
-import lombok.Data;
-import org.springframework.data.annotation.Id;
-import org.springframework.data.gemfire.mapping.annotation.Region;
-
-import java.io.Serializable;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * A customer used for Lucene examples.
- *
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
- */
-@Data
-@Region(name = "Customers")
-public class Customer implements Serializable {
-
- @Id
- private Long id;
- private EmailAddress emailAddress;
- private String firstName;
- private String lastName;
- private List addresses;
-
- public Customer(Long id, EmailAddress emailAddress, String firstName, String lastName, Address... addresses) {
- this.id = id;
- this.emailAddress = emailAddress;
- this.firstName = firstName;
- this.lastName = lastName;
- this.addresses = Arrays.asList(addresses);
- }
-}
diff --git a/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/ExpirationEvictionServerConfig.java b/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/ExpirationEvictionServerConfig.java
deleted file mode 100755
index 0633a29fa..000000000
--- a/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/ExpirationEvictionServerConfig.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.expiration.eviction;
-
-import org.apache.geode.cache.CustomExpiry;
-import org.apache.geode.cache.DataPolicy;
-import org.apache.geode.cache.GemFireCache;
-import org.apache.geode.cache.Scope;
-
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-import org.springframework.data.gemfire.ReplicatedRegionFactoryBean;
-import org.springframework.data.gemfire.config.annotation.CacheServerApplication;
-import org.springframework.data.gemfire.config.annotation.EnableEviction;
-import org.springframework.data.gemfire.config.annotation.EnableExpiration;
-import org.springframework.data.gemfire.config.annotation.EnableLocator;
-import org.springframework.data.gemfire.eviction.EvictionActionType;
-import org.springframework.data.gemfire.eviction.EvictionPolicyType;
-import org.springframework.data.gemfire.repository.config.EnableGemfireRepositories;
-
-import com.github.javafaker.Faker;
-
-/**
- * @author Patrick Johnson
- */
-@Configuration
-@CacheServerApplication(logLevel = "error")
-@EnableLocator
-@EnableGemfireRepositories(basePackageClasses = CustomerRepository.class)
-@EnableExpiration
-@Import(ExpirationPolicyConfig.class)
-@EnableEviction(policies = @EnableEviction.EvictionPolicy(regionNames = "Orders", maximum = 10,
- action = EvictionActionType.LOCAL_DESTROY, type = EvictionPolicyType.ENTRY_COUNT))
-public class ExpirationEvictionServerConfig {
-
- @Bean
- public Faker createDataFaker() {
- return new Faker();
- }
-
- @Bean("IDLE")
- CustomExpiry createIdleExpiration() {
- return new CustomCustomerExpiry(2);
- }
-
- @Bean("TTL")
- CustomExpiry createTtlExpiration() {
- return new CustomCustomerExpiry(4);
- }
-
- @Bean("Products")
- public ReplicatedRegionFactoryBean createProductRegion(GemFireCache gemFireCache,
- @Qualifier("IDLE") CustomExpiry idleExpiry,
- @Qualifier("TTL") CustomExpiry ttlExpiry) {
- ReplicatedRegionFactoryBean regionFactoryBean = new ReplicatedRegionFactoryBean<>();
- regionFactoryBean.setCache(gemFireCache);
- regionFactoryBean.setScope(Scope.DISTRIBUTED_ACK);
- regionFactoryBean.setDataPolicy(DataPolicy.REPLICATE);
- regionFactoryBean.setName("Products");
- regionFactoryBean.setCustomEntryIdleTimeout(idleExpiry);
- regionFactoryBean.setCustomEntryTimeToLive(ttlExpiry);
- return regionFactoryBean;
- }
-
- @Bean("Customers")
- public ReplicatedRegionFactoryBean createCustomerRegion(GemFireCache gemFireCache) {
- ReplicatedRegionFactoryBean regionFactoryBean = new ReplicatedRegionFactoryBean<>();
- regionFactoryBean.setCache(gemFireCache);
- regionFactoryBean.setScope(Scope.DISTRIBUTED_ACK);
- regionFactoryBean.setDataPolicy(DataPolicy.REPLICATE);
- regionFactoryBean.setName("Customers");
- return regionFactoryBean;
- }
-
- @Bean("Orders")
- public ReplicatedRegionFactoryBean createOrderRegion(GemFireCache gemFireCache) {
- ReplicatedRegionFactoryBean regionFactoryBean = new ReplicatedRegionFactoryBean<>();
- regionFactoryBean.setCache(gemFireCache);
- regionFactoryBean.setScope(Scope.DISTRIBUTED_ACK);
- regionFactoryBean.setDataPolicy(DataPolicy.REPLICATE);
- regionFactoryBean.setName("Orders");
- return regionFactoryBean;
- }
-}
diff --git a/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/ExpirationPolicyConfig.java b/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/ExpirationPolicyConfig.java
deleted file mode 100644
index 513e9fcab..000000000
--- a/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/ExpirationPolicyConfig.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.expiration.eviction;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Profile;
-import org.springframework.data.gemfire.config.annotation.EnableExpiration;
-import org.springframework.data.gemfire.expiration.ExpirationActionType;
-
-/**
- * @author Patrick Johnson
- */
-@Profile("!default")
-@Configuration
-@EnableExpiration(policies = {
- @EnableExpiration.ExpirationPolicy(timeout = 2, action = ExpirationActionType.DESTROY,
- regionNames = { "Customers" }, types = { EnableExpiration.ExpirationType.TIME_TO_LIVE }),
- @EnableExpiration.ExpirationPolicy(timeout = 1, action = ExpirationActionType.DESTROY,
- regionNames = { "Customers" }, types = { EnableExpiration.ExpirationType.IDLE_TIMEOUT }) })
-public class ExpirationPolicyConfig {}
diff --git a/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/Order.java b/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/Order.java
deleted file mode 100755
index b838b0c95..000000000
--- a/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/Order.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.expiration.eviction;
-
-import lombok.Data;
-import org.springframework.data.annotation.Id;
-import org.springframework.data.gemfire.expiration.IdleTimeoutExpiration;
-import org.springframework.data.gemfire.expiration.TimeToLiveExpiration;
-import org.springframework.data.gemfire.mapping.annotation.Region;
-
-import java.io.Serializable;
-
-/**
- * Orders object used in the examples
- *
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
- */
-@Data
-@IdleTimeoutExpiration(action = "DESTROY", timeout = "1")
-@TimeToLiveExpiration(action = "DESTROY", timeout = "2")
-@Region("Orders")
-public class Order implements Serializable {
-
- @Id
- private Long id;
- private Long total;
- private Address billingAddress;
- private Address shippingAddress;
-
- public Order(Long orderId, Long total, Address address) {
- this.id = orderId;
- this.total = total;
- this.billingAddress = address;
- this.shippingAddress = address;
- }
-}
diff --git a/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/OrderRepository.java b/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/OrderRepository.java
deleted file mode 100644
index 217d4b99b..000000000
--- a/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/OrderRepository.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.expiration.eviction;
-
-import org.springframework.data.gemfire.mapping.annotation.Region;
-import org.springframework.data.repository.CrudRepository;
-
-/**
- * @author Patrick Johnson
- */
-@Region("Orders")
-public interface OrderRepository extends CrudRepository {}
diff --git a/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/Product.java b/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/Product.java
deleted file mode 100755
index 0dcb8d908..000000000
--- a/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/Product.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.expiration.eviction;
-
-import lombok.Data;
-import org.springframework.data.annotation.Id;
-import org.springframework.data.annotation.PersistenceConstructor;
-import org.springframework.data.gemfire.mapping.annotation.Region;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-
-/**
- * A product used in the examples.
- *
- * @author Oliver Gierke
- * @author David Turanski
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
- */
-@Data
-@Region("Products")
-public class Product implements Serializable {
-
- @Id
- private Long id;
- private String name;
- private BigDecimal price;
- private String description;
-
- @PersistenceConstructor
- public Product(Long id, String name, BigDecimal price, String description) {
- this.id = id;
- this.name = name;
- this.price = price;
- this.description = description;
- }
-}
diff --git a/geode/expiration-eviction/src/test/java/example/springdata/geode/server/expiration/eviction/EntityDefinedExpirationTests.java b/geode/expiration-eviction/src/test/java/example/springdata/geode/server/expiration/eviction/EntityDefinedExpirationTests.java
deleted file mode 100644
index c5dd698ca..000000000
--- a/geode/expiration-eviction/src/test/java/example/springdata/geode/server/expiration/eviction/EntityDefinedExpirationTests.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.expiration.eviction;
-
-import static org.assertj.core.api.Assertions.*;
-
-import lombok.extern.apachecommons.CommonsLog;
-
-import java.time.Instant;
-import java.util.concurrent.TimeUnit;
-
-import org.awaitility.Awaitility;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.junit4.SpringRunner;
-
-import com.github.javafaker.Faker;
-
-/**
- * @author Patrick Johnson
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest
-@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)
-@CommonsLog
-public class EntityDefinedExpirationTests {
-
- @Autowired private OrderRepository orderRepository;
-
- @Autowired Faker faker;
-
- @Test
- public void entityDefinedExpirationIsConfiguredCorrectly() {
-
- orderRepository.save(new Order(1L, 50L,
- new Address(faker.address().streetAddress(), faker.address().city(), faker.address().country())));
-
- assertThat(orderRepository.count()).isEqualTo(1);
-
- log.info("Starting TTL wait period: " + Instant.now());
- // Due to the constant "getting" of the entry, the idle expiry timeout will not be met and the time-to-live
- // will be used.
- Awaitility.await().pollInterval(1, TimeUnit.SECONDS).atMost(10, TimeUnit.SECONDS)
- .until(() -> !orderRepository.findById(1L).isPresent());
-
- assertThat(orderRepository.count()).isEqualTo(0);
-
- log.info("Ending TTL wait period: " + Instant.now());
-
- orderRepository.save(new Order(1L, 50L,
- new Address(faker.address().streetAddress(), faker.address().city(), faker.address().country())));
-
- assertThat(orderRepository.count()).isEqualTo(1);
-
- log.info("Starting Idle wait period: " + Instant.now());
-
- // Due to the delay in "getting" the entry, the idle timeout of 2s should delete the entry.
- Awaitility.await().pollDelay(2, TimeUnit.SECONDS).pollInterval(100, TimeUnit.MILLISECONDS)
- .atMost(10, TimeUnit.SECONDS).until(() -> !orderRepository.findById(1L).isPresent());
-
- assertThat(orderRepository.count()).isEqualTo(0);
-
- log.info("Ending Idle wait period: " + Instant.now());
- }
-}
diff --git a/geode/expiration-eviction/src/test/java/example/springdata/geode/server/expiration/eviction/ExpirationEvictionServerTests.java b/geode/expiration-eviction/src/test/java/example/springdata/geode/server/expiration/eviction/ExpirationEvictionServerTests.java
deleted file mode 100755
index 2b7194b1c..000000000
--- a/geode/expiration-eviction/src/test/java/example/springdata/geode/server/expiration/eviction/ExpirationEvictionServerTests.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.server.expiration.eviction;
-
-import static org.assertj.core.api.Assertions.*;
-
-import lombok.extern.apachecommons.CommonsLog;
-
-import java.math.BigDecimal;
-import java.time.Instant;
-import java.util.concurrent.TimeUnit;
-
-import org.awaitility.Awaitility;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
-
-import com.github.javafaker.Faker;
-
-/**
- * @author Patrick Johnson
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = ExpirationEvictionServer.class)
-@ActiveProfiles("expiration_policy")
-@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)
-@CommonsLog
-public class ExpirationEvictionServerTests {
-
- @Autowired private CustomerRepository customerRepository;
-
- @Autowired private ProductRepository productRepository;
-
- @Autowired private OrderRepository orderRepository;
-
- @Autowired Faker faker;
-
- @Test
- public void cacheDefinedExpirationIsConfiguredCorrectly() {
-
- customerRepository.save(new Customer(1L, new EmailAddress(faker.internet().emailAddress()),
- faker.name().firstName(), faker.name().lastName(),
- new Address(faker.address().streetAddress(), faker.address().city(), faker.address().country())));
-
- assertThat(customerRepository.count()).isEqualTo(1);
-
- log.info(String.format("Starting TTL wait period: %s", Instant.now()));
- // Due to the constant "getting" of the entry, the idle expiry timeout will not be met and the time-to-live
- // will be used.
- Awaitility.await().pollInterval(1, TimeUnit.SECONDS).atMost(10, TimeUnit.SECONDS)
- .until(() -> !customerRepository.findById(1L).isPresent());
-
- assertThat(customerRepository.count()).isEqualTo(0);
-
- log.info(String.format("Ending TTL wait period: %s", Instant.now()));
-
- customerRepository.save(new Customer(1L, new EmailAddress(faker.internet().emailAddress()),
- faker.name().firstName(), faker.name().lastName(),
- new Address(faker.address().streetAddress(), faker.address().city(), faker.address().country())));
-
- assertThat(customerRepository.count()).isEqualTo(1);
-
- log.info(String.format("Starting Idle wait period: %s", Instant.now()));
-
- // Due to the delay in "getting" the entry, the idle timeout of 2s should delete the entry.
- Awaitility.await().pollDelay(2, TimeUnit.SECONDS).pollInterval(100, TimeUnit.MILLISECONDS)
- .atMost(10, TimeUnit.SECONDS).until(() -> !customerRepository.findById(1L).isPresent());
-
- assertThat(customerRepository.count()).isEqualTo(0);
-
- log.info(String.format("Ending Idle wait period: %s", Instant.now()));
- }
-
- @Test
- public void customExpirationIsConfiguredCorrectly() {
- productRepository.save(new Product(3L, "MacBook Pro", BigDecimal.valueOf(20), "A cool computing device"));
-
- assertThat(productRepository.count()).isEqualTo(1);
-
- log.info(String.format("Starting TTL wait period: %s", Instant.now()));
- // Due to the constant "getting" of the entry, the idle expiry timeout will not be met and the time-to-live
- // will be used.
- Awaitility.await().pollInterval(1, TimeUnit.SECONDS).atMost(10, TimeUnit.SECONDS)
- .until(() -> !productRepository.findById(3L).isPresent());
-
- assertThat(productRepository.count()).isEqualTo(0);
-
- log.info("Ending TTL wait period: " + Instant.now());
-
- productRepository.save(new Product(3L, "MacBook Pro", BigDecimal.valueOf(20), "A cool computing device"));
-
- assertThat(productRepository.count()).isEqualTo(1);
-
- log.info(String.format("Starting Idle wait period: %s", Instant.now()));
-
- // Due to the delay in "getting" the entry, the idle timeout of 2s should delete the entry.
- Awaitility.await().pollDelay(2, TimeUnit.SECONDS).pollInterval(100, TimeUnit.MILLISECONDS)
- .atMost(10, TimeUnit.SECONDS).until(() -> !productRepository.findById(3L).isPresent());
-
- assertThat(productRepository.count()).isEqualTo(0);
-
- log.info(String.format("Ending Idle wait period: %s", Instant.now()));
- }
-
- @Test
- public void evictionIsConfiguredCorrectly() {
-
- final var evictionThreshold = 10;
- for (long i = 0; i < evictionThreshold + 1; i++) {
- orderRepository.save(new Order(i, i,
- new Address(faker.address().streetName(), faker.address().city(), faker.address().country())));
- }
-
- assertThat(orderRepository.count()).isEqualTo(evictionThreshold);
- orderRepository.deleteAll();
- }
-}
diff --git a/geode/expiration-eviction/src/test/resources/logback.xml b/geode/expiration-eviction/src/test/resources/logback.xml
deleted file mode 100644
index f3b82068a..000000000
--- a/geode/expiration-eviction/src/test/resources/logback.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- %msg%n
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/geode/function-invocation/README.md b/geode/function-invocation/README.md
deleted file mode 100755
index 8b497e3e8..000000000
--- a/geode/function-invocation/README.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# Function Invocation Example
-
-In this example a [Pivotal GemFire](https://pivotal.io/pivotal-gemfire) / [Apache Geode](http://geode.apache.org/) client will invoke remote functions registered on the server.
-
-To run the example simply run the tests located under function-invocation/src/test in your IDE.
-
-The client is configured to connect to the deployed/started server on `localhost` port `40404`.
-
-## Running the example
-
-The example is broken up into multiple steps:
-1. Insert (Put) three Customer entries into the `Customers` region using the repositories `save` method.
-2. Insert (Put) three Product entries into the `Products` region using the repositories `save` method.
-3. Insert (Put) 100 Order entries into the `Orders` region using the repositories `save` method.
-
-Your output from the test `functionsExecuteCorrectly` should look similar to the following:
-
- Inserting 3 entries for keys: 1, 2, 3
- [FORK] - [info 2019/09/06 09:24:49.274 PDT tid=0x47] In region [Customers] created key [1] value [Customer(id=1, emailAddress=EmailAddress(value=2@2.com), firstName=John, lastName=Smith)]
- [FORK] -
- [FORK] - [info 2019/09/06 09:24:49.278 PDT tid=0x47] In region [Customers] created key [2] value [Customer(id=2, emailAddress=EmailAddress(value=3@3.com), firstName=Frank, lastName=Lamport)]
- [FORK] -
- [FORK] - [info 2019/09/06 09:24:49.279 PDT tid=0x47] In region [Customers] created key [3] value [Customer(id=3, emailAddress=EmailAddress(value=5@5.com), firstName=Jude, lastName=Simmons)]
- [FORK] -
- All customers for emailAddresses:3@3.com,2@2.com using function invocation:
- [Customer(id=2, emailAddress=EmailAddress(value=3@3.com), firstName=Frank, lastName=Lamport), Customer(id=1, emailAddress=EmailAddress(value=2@2.com), firstName=John, lastName=Smith)]
- Running function to sum up all product prices:
- 1499.97
- Running function to sum up all order lineItems prices for order 1:
- 2399.96
- For order:
- Order(id=1, customerId=3, billingAddress=Address(street=it, city=doesn't, country=matter), shippingAddress=Address(street=it, city=doesn't, country=matter))
- LineItems:[Purchased 1 of Product Apple macBook at 899.99 for total of 899.99, Purchased 3 of Product Apple iPad at 499.99 for total of 1499.97]
-
-NOTE: Inorder to see output, you must change the loglevel from "error" to "info" in the `logback.xml` file located under src/test/resources.
-
-NOTE: Number of products purchased and total cost may vary from the above run as they are determined randomly.
\ No newline at end of file
diff --git a/geode/function-invocation/pom.xml b/geode/function-invocation/pom.xml
deleted file mode 100755
index 579717087..000000000
--- a/geode/function-invocation/pom.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
- 4.0.0
-
-
- org.springframework.data.examples
- spring-data-geode-examples
- 2.0.0.BUILD-SNAPSHOT
-
-
- spring-data-geode-function-invocation-example
- Spring Data Geode - Functions
-
-
diff --git a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/Address.java b/geode/function-invocation/src/main/java/example/springdata/geode/client/function/Address.java
deleted file mode 100755
index 0de8ba606..000000000
--- a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/Address.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.function;
-
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * An address used in the examples.
- *
- * @author Oliver Gierke
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
- */
-@Data
-public class Address implements Serializable {
-
- private String street;
- private String city;
- private String country;
-
- public Address(String street, String city, String country) {
- this.street = street;
- this.city = city;
- this.country = country;
- }
-}
diff --git a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/Customer.java b/geode/function-invocation/src/main/java/example/springdata/geode/client/function/Customer.java
deleted file mode 100755
index 11a355fe6..000000000
--- a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/Customer.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.function;
-
-import lombok.Data;
-import org.springframework.data.annotation.Id;
-import org.springframework.data.gemfire.mapping.annotation.Region;
-
-import java.io.Serializable;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * A customer used for Lucene examples.
- *
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
- */
-@Data
-@Region(name = "Customers")
-public class Customer implements Serializable {
-
- @Id
- private Long id;
- private EmailAddress emailAddress;
- private String firstName;
- private String lastName;
- private List addresses;
-
- public Customer(Long id, EmailAddress emailAddress, String firstName, String lastName, Address... addresses) {
- this.id = id;
- this.emailAddress = emailAddress;
- this.firstName = firstName;
- this.lastName = lastName;
- this.addresses = Arrays.asList(addresses);
- }
-
- /**
- * Adds the given [Address] to the [Customer].
- */
- public void add(Address address) {
- this.addresses.add(address);
- }
-}
diff --git a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/LineItem.java b/geode/function-invocation/src/main/java/example/springdata/geode/client/function/LineItem.java
deleted file mode 100755
index f86c320b1..000000000
--- a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/LineItem.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.function;
-
-import lombok.Data;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-
-/**
- * A LineItem used in the examples
- *
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
- */
-@Data
-public class LineItem implements Serializable {
-
- private Product product;
- private Integer amount;
-
- public LineItem(Product product, Integer amount) {
- this.product = product;
- this.amount = amount;
- }
-
- public BigDecimal calcTotal() {
- return product.getPrice().multiply(BigDecimal.valueOf(amount));
- }
-}
diff --git a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/Order.java b/geode/function-invocation/src/main/java/example/springdata/geode/client/function/Order.java
deleted file mode 100755
index 65fd2a59b..000000000
--- a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/Order.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package example.springdata.geode.client.function;
-
-import lombok.Data;
-import org.springframework.data.annotation.Id;
-import org.springframework.data.gemfire.mapping.annotation.Region;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Orders object used in the examples
- *
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
- */
-@Data
-@Region("Orders")
-public class Order implements Serializable {
-
- @Id
- private Long id;
- private Long customerId;
- private Address billingAddress;
- private Address shippingAddress;
- private List lineItems = new ArrayList<>();
-
- public Order(Long orderId, Long customerId, Address address) {
- this.id = orderId;
- this.customerId = customerId;
- this.billingAddress = address;
- this.shippingAddress = address;
- }
-
- /**
- * Returns the total of the [Order].
- *
- * @return
- */
-
- public BigDecimal calcTotal() {
- if (lineItems.size() == 0) {
- return BigDecimal.ZERO;
- } else {
- return lineItems.stream().map(LineItem::calcTotal).reduce(BigDecimal::add).get();
- }
- }
-
- /**
- * Adds the given [LineItem] to the [Order].
- *
- * @param lineItem
- */
- public void add(LineItem lineItem) {
- lineItems.add(lineItem);
- }
-}
diff --git a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/Product.java b/geode/function-invocation/src/main/java/example/springdata/geode/client/function/Product.java
deleted file mode 100755
index 6a8f3672e..000000000
--- a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/Product.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.function;
-
-import lombok.Data;
-import org.springframework.data.annotation.Id;
-import org.springframework.data.annotation.PersistenceConstructor;
-import org.springframework.data.annotation.Transient;
-import org.springframework.data.gemfire.mapping.annotation.Region;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * A product used in the examples.
- *
- * @author Oliver Gierke
- * @author David Turanski
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
- */
-@Data
-@Region("Products")
-public class Product implements Serializable {
-
- @Id
- private Long id;
- private String name;
- private BigDecimal price;
- private String description;
-
- @Transient
- private Map attributes = new HashMap<>();
-
- @PersistenceConstructor
- public Product(Long id, String name, BigDecimal price, String description) {
- this.id = id;
- this.name = name;
- this.price = price;
- this.description = description;
- }
-
- /**
- * Sets the attribute with the given name to the given value.
- *
- * @param name must not be null or empty.
- * @param value
- */
- public void addAttribute(String name, String value) {
- this.attributes.put(name, value);
- }
-}
diff --git a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/CustomerFunctionExecutions.java b/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/CustomerFunctionExecutions.java
deleted file mode 100755
index 930f00db5..000000000
--- a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/CustomerFunctionExecutions.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.function.client;
-
-import example.springdata.geode.client.function.Customer;
-
-import java.util.List;
-
-import org.springframework.data.gemfire.function.annotation.FunctionId;
-import org.springframework.data.gemfire.function.annotation.OnRegion;
-
-/**
- * @author Patrick Johnson
- */
-@OnRegion(region = "Customers")
-public interface CustomerFunctionExecutions {
-
- @FunctionId("listConsumersForEmailAddressesFnc")
- List> listAllCustomersForEmailAddress(String... emailAddresses);
-}
diff --git a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/CustomerRepository.java b/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/CustomerRepository.java
deleted file mode 100755
index b9dbb5ae8..000000000
--- a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/CustomerRepository.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.function.client;
-
-import example.springdata.geode.client.function.Customer;
-
-import java.util.List;
-
-import org.springframework.data.gemfire.mapping.annotation.ClientRegion;
-import org.springframework.data.gemfire.repository.Query;
-import org.springframework.data.gemfire.repository.query.annotation.Hint;
-import org.springframework.data.gemfire.repository.query.annotation.Limit;
-import org.springframework.data.gemfire.repository.query.annotation.Trace;
-import org.springframework.data.repository.CrudRepository;
-
-/**
- * @author Patrick Johnson
- */
-@ClientRegion("Customers")
-public interface CustomerRepository extends CrudRepository {
-
- @Trace
- @Limit(100)
- @Hint("emailAddressIndex")
- @Query("select * from /Customers customer where customer.emailAddress.value = $1")
- List findByEmailAddressUsingIndex(String emailAddress);
-
- @Trace
- @Limit(100)
- @Query("select * from /Customers customer where customer.firstName = $1")
- List findByFirstNameUsingIndex(String firstName);
-}
diff --git a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/FunctionInvocationClientApplicationConfig.java b/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/FunctionInvocationClientApplicationConfig.java
deleted file mode 100755
index 815e5aa1c..000000000
--- a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/FunctionInvocationClientApplicationConfig.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.function.client;
-
-import example.springdata.geode.client.function.Customer;
-import example.springdata.geode.client.function.Order;
-import example.springdata.geode.client.function.Product;
-
-import org.apache.geode.cache.GemFireCache;
-import org.apache.geode.cache.client.ClientRegionShortcut;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.data.gemfire.client.ClientRegionFactoryBean;
-import org.springframework.data.gemfire.config.annotation.ClientCacheApplication;
-import org.springframework.data.gemfire.function.config.EnableGemfireFunctionExecutions;
-import org.springframework.data.gemfire.repository.config.EnableGemfireRepositories;
-import org.springframework.data.gemfire.transaction.config.EnableGemfireCacheTransactions;
-
-/**
- * Spring JavaConfig configuration class to setup a Spring container and infrastructure components.
- *
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
- */
-@Configuration
-@EnableGemfireRepositories(basePackageClasses = CustomerRepository.class)
-@EnableGemfireFunctionExecutions(basePackageClasses = CustomerFunctionExecutions.class)
-@ClientCacheApplication(name = "FunctionInvocationClient", logLevel = "error", pingInterval = 5000L,
- readTimeout = 15000, retryAttempts = 1)
-@EnableGemfireCacheTransactions
-public class FunctionInvocationClientApplicationConfig {
-
- @Bean("Customers")
- protected ClientRegionFactoryBean configureProxyClientCustomerRegion(GemFireCache gemFireCache) {
- ClientRegionFactoryBean clientRegionFactoryBean = new ClientRegionFactoryBean<>();
- clientRegionFactoryBean.setCache(gemFireCache);
- clientRegionFactoryBean.setName("Customers");
- clientRegionFactoryBean.setShortcut(ClientRegionShortcut.PROXY);
- return clientRegionFactoryBean;
- }
-
- @Bean("Products")
- protected ClientRegionFactoryBean configureProxyClientProductRegion(GemFireCache gemFireCache) {
- ClientRegionFactoryBean clientRegionFactoryBean = new ClientRegionFactoryBean<>();
- clientRegionFactoryBean.setCache(gemFireCache);
- clientRegionFactoryBean.setName("Products");
- clientRegionFactoryBean.setShortcut(ClientRegionShortcut.PROXY);
- return clientRegionFactoryBean;
- }
-
- @Bean("Orders")
- protected ClientRegionFactoryBean configureProxyClientOrderRegion(GemFireCache gemFireCache) {
- ClientRegionFactoryBean clientRegionFactoryBean = new ClientRegionFactoryBean<>();
- clientRegionFactoryBean.setCache(gemFireCache);
- clientRegionFactoryBean.setName("Orders");
- clientRegionFactoryBean.setShortcut(ClientRegionShortcut.PROXY);
- return clientRegionFactoryBean;
- }
-}
diff --git a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/OrderFunctionExecutions.java b/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/OrderFunctionExecutions.java
deleted file mode 100755
index 49683ea4f..000000000
--- a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/OrderFunctionExecutions.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.function.client;
-
-import java.math.BigDecimal;
-import java.util.List;
-
-import org.springframework.data.gemfire.function.annotation.FunctionId;
-import org.springframework.data.gemfire.function.annotation.OnRegion;
-
-/**
- * @author Patrick Johnson
- */
-@OnRegion(region = "Orders")
-public interface OrderFunctionExecutions {
-
- @FunctionId("sumPricesForAllProductsForOrderFnc")
- List sumPricesForAllProductsForOrder(Long orderId);
-}
diff --git a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/OrderRepository.java b/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/OrderRepository.java
deleted file mode 100755
index 4cecddd95..000000000
--- a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/OrderRepository.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.function.client;
-
-import example.springdata.geode.client.function.Order;
-
-import org.springframework.data.gemfire.mapping.annotation.ClientRegion;
-import org.springframework.data.repository.CrudRepository;
-
-/**
- * @author Patrick Johnson
- */
-@ClientRegion("Orders")
-public interface OrderRepository extends CrudRepository {}
diff --git a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/ProductFunctionExecutions.java b/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/ProductFunctionExecutions.java
deleted file mode 100755
index 803fc5ca6..000000000
--- a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/ProductFunctionExecutions.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.function.client;
-
-import java.math.BigDecimal;
-import java.util.List;
-
-import org.springframework.data.gemfire.function.annotation.FunctionId;
-import org.springframework.data.gemfire.function.annotation.OnRegion;
-
-/**
- * @author Patrick Johnson
- */
-@OnRegion(region = "Products")
-public interface ProductFunctionExecutions {
-
- @FunctionId("sumPricesForAllProductsFnc")
- List sumPricesForAllProducts();
-}
diff --git a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/ProductRepository.java b/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/ProductRepository.java
deleted file mode 100755
index fd5bbc34c..000000000
--- a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/client/ProductRepository.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.function.client;
-
-import example.springdata.geode.client.function.Product;
-
-import org.springframework.data.gemfire.mapping.annotation.ClientRegion;
-import org.springframework.data.repository.CrudRepository;
-
-/**
- * @author Patrick Johnson
- */
-@ClientRegion("Products")
-public interface ProductRepository extends CrudRepository {}
diff --git a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/server/CustomerFunctions.java b/geode/function-invocation/src/main/java/example/springdata/geode/client/function/server/CustomerFunctions.java
deleted file mode 100755
index 6a017fe51..000000000
--- a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/server/CustomerFunctions.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.function.server;
-
-import example.springdata.geode.client.function.Customer;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import org.springframework.data.gemfire.function.annotation.GemfireFunction;
-import org.springframework.data.gemfire.function.annotation.RegionData;
-import org.springframework.stereotype.Component;
-
-/**
- * @author Patrick Johnson
- */
-@Component
-public class CustomerFunctions {
-
- @GemfireFunction(id = "listConsumersForEmailAddressesFnc", HA = true, optimizeForWrite = true, batchSize = 3,
- hasResult = true)
- public List listAllCustomersForEmailAddress(@RegionData Map customerData,
- String... emailAddresses) {
- var emailAddressesAsList = Arrays.asList(emailAddresses);
- var collect = customerData.values().parallelStream()
- .filter((customer) -> emailAddressesAsList.contains(customer.getEmailAddress().getValue()))
- .collect(Collectors.toList());
- return collect;
- }
-}
diff --git a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/server/FunctionServerApplicationConfig.java b/geode/function-invocation/src/main/java/example/springdata/geode/client/function/server/FunctionServerApplicationConfig.java
deleted file mode 100755
index cc6f6ef11..000000000
--- a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/server/FunctionServerApplicationConfig.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.function.server;
-
-import example.springdata.geode.client.function.Customer;
-import example.springdata.geode.client.function.Order;
-import example.springdata.geode.client.function.Product;
-import example.springdata.geode.client.function.client.CustomerRepository;
-
-import org.apache.geode.cache.DataPolicy;
-import org.apache.geode.cache.GemFireCache;
-import org.apache.geode.cache.Scope;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.data.gemfire.ReplicatedRegionFactoryBean;
-import org.springframework.data.gemfire.config.annotation.CacheServerApplication;
-import org.springframework.data.gemfire.config.annotation.EnableIndexing;
-import org.springframework.data.gemfire.config.annotation.EnableLocator;
-import org.springframework.data.gemfire.config.annotation.EnableManager;
-import org.springframework.data.gemfire.function.config.EnableGemfireFunctions;
-import org.springframework.data.gemfire.repository.config.EnableGemfireRepositories;
-
-/**
- * @author Patrick Johnson
- */
-@Configuration
-@ComponentScan(basePackageClasses = CustomerFunctions.class)
-@EnableGemfireFunctions
-@EnableGemfireRepositories(basePackageClasses = CustomerRepository.class)
-@EnableLocator
-@EnableIndexing
-@EnableManager
-@CacheServerApplication(port = 0, logLevel = "error")
-public class FunctionServerApplicationConfig {
-
- @Bean("Customers")
- ReplicatedRegionFactoryBean createCustomerRegion(GemFireCache gemfireCache) {
- ReplicatedRegionFactoryBean replicatedRegionFactoryBean = new ReplicatedRegionFactoryBean<>();
- replicatedRegionFactoryBean.setCache(gemfireCache);
- replicatedRegionFactoryBean.setRegionName("Customers");
- replicatedRegionFactoryBean.setDataPolicy(DataPolicy.REPLICATE);
- replicatedRegionFactoryBean.setScope(Scope.DISTRIBUTED_ACK);
- return replicatedRegionFactoryBean;
- }
-
- @Bean("Orders")
- ReplicatedRegionFactoryBean createOrderRegion(GemFireCache gemfireCache) {
- ReplicatedRegionFactoryBean replicatedRegionFactoryBean = new ReplicatedRegionFactoryBean<>();
- replicatedRegionFactoryBean.setCache(gemfireCache);
- replicatedRegionFactoryBean.setRegionName("Orders");
- replicatedRegionFactoryBean.setDataPolicy(DataPolicy.REPLICATE);
- return replicatedRegionFactoryBean;
- }
-
- @Bean("Products")
- ReplicatedRegionFactoryBean createProductRegion(GemFireCache gemfireCache) {
- ReplicatedRegionFactoryBean replicatedRegionFactoryBean = new ReplicatedRegionFactoryBean<>();
- replicatedRegionFactoryBean.setCache(gemfireCache);
- replicatedRegionFactoryBean.setRegionName("Products");
- replicatedRegionFactoryBean.setDataPolicy(DataPolicy.REPLICATE);
- return replicatedRegionFactoryBean;
- }
-}
diff --git a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/server/OrderFunctions.java b/geode/function-invocation/src/main/java/example/springdata/geode/client/function/server/OrderFunctions.java
deleted file mode 100755
index 4516d0f19..000000000
--- a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/server/OrderFunctions.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.function.server;
-
-import example.springdata.geode.client.function.Order;
-
-import java.math.BigDecimal;
-import java.util.Map;
-
-import org.springframework.data.gemfire.function.annotation.GemfireFunction;
-import org.springframework.data.gemfire.function.annotation.RegionData;
-import org.springframework.stereotype.Component;
-
-/**
- * @author Patrick Johnson
- */
-@Component
-public class OrderFunctions {
-
- @GemfireFunction(id = "sumPricesForAllProductsForOrderFnc", HA = true, optimizeForWrite = false, hasResult = true)
- public BigDecimal sumPricesForAllProductsForOrderFnc(Long orderId, @RegionData Map orderData) {
- return orderData.get(orderId).calcTotal();
- }
-}
diff --git a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/server/ProductFunctions.java b/geode/function-invocation/src/main/java/example/springdata/geode/client/function/server/ProductFunctions.java
deleted file mode 100755
index e52fb5c11..000000000
--- a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/server/ProductFunctions.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.function.server;
-
-import example.springdata.geode.client.function.Product;
-
-import java.math.BigDecimal;
-import java.util.Map;
-
-import org.springframework.data.gemfire.function.annotation.GemfireFunction;
-import org.springframework.data.gemfire.function.annotation.RegionData;
-import org.springframework.stereotype.Component;
-
-/**
- * @author Patrick Johnson
- */
-@Component
-public class ProductFunctions {
-
- @GemfireFunction(id = "sumPricesForAllProductsFnc", HA = true, hasResult = true)
- public BigDecimal sumPricesForAllProductsFnc(@RegionData Map productData) {
- return productData.values().stream().map(Product::getPrice).reduce(BigDecimal::add).get();
- }
-}
diff --git a/geode/function-invocation/src/test/java/example/springdata/geode/client/function/client/FunctionInvocationClientTests.java b/geode/function-invocation/src/test/java/example/springdata/geode/client/function/client/FunctionInvocationClientTests.java
deleted file mode 100755
index 93a7df968..000000000
--- a/geode/function-invocation/src/test/java/example/springdata/geode/client/function/client/FunctionInvocationClientTests.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.function.client;
-
-import static org.assertj.core.api.Assertions.*;
-
-import example.springdata.geode.client.function.Address;
-import example.springdata.geode.client.function.Customer;
-import example.springdata.geode.client.function.EmailAddress;
-import example.springdata.geode.client.function.LineItem;
-import example.springdata.geode.client.function.Order;
-import example.springdata.geode.client.function.Product;
-import example.springdata.geode.client.function.server.FunctionServer;
-import lombok.extern.apachecommons.CommonsLog;
-
-import java.io.IOException;
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Random;
-import java.util.stream.IntStream;
-import java.util.stream.LongStream;
-
-import javax.annotation.Resource;
-
-import org.apache.geode.cache.Region;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.data.gemfire.tests.integration.ForkingClientServerIntegrationTestsSupport;
-import org.springframework.test.context.junit4.SpringRunner;
-
-/**
- * @author Patrick Johnson
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = FunctionInvocationClientApplicationConfig.class)
-@CommonsLog
-public class FunctionInvocationClientTests extends ForkingClientServerIntegrationTestsSupport {
-
- @Autowired private CustomerRepository customerRepository;
-
- @Autowired private OrderRepository orderRepository;
-
- @Autowired private ProductRepository productRepository;
-
- @Autowired private CustomerFunctionExecutions customerFunctionExecutions;
-
- @Autowired private OrderFunctionExecutions orderFunctionExecutions;
-
- @Autowired private ProductFunctionExecutions productFunctionExecutions;
-
- @Resource(name = "Customers") private Region customers;
-
- @Resource(name = "Orders") private Region orders;
-
- @Resource(name = "Products") private Region products;
-
- @BeforeClass
- public static void setup() throws IOException {
- startGemFireServer(FunctionServer.class);
- }
-
- @Test
- public void functionsExecuteCorrectly() {
- createCustomerData();
-
- var cust = customerFunctionExecutions.listAllCustomersForEmailAddress("2@2.com", "3@3.com").get(0);
- assertThat(cust.size()).isEqualTo(2);
- log.info("All customers for emailAddresses:3@3.com,2@2.com using function invocation: \n\t " + cust);
-
- createProducts();
- var sum = productFunctionExecutions.sumPricesForAllProducts().get(0);
- assertThat(sum).isEqualTo(BigDecimal.valueOf(1499.97));
- log.info("Running function to sum up all product prices: \n\t" + sum);
-
- createOrders();
-
- sum = orderFunctionExecutions.sumPricesForAllProductsForOrder(1L).get(0);
- assertThat(sum).isGreaterThanOrEqualTo(BigDecimal.valueOf(99.99));
- log.info("Running function to sum up all order lineItems prices for order 1: \n\t" + sum);
- var order = orderRepository.findById(1L).get();
- log.info("For order: \n\t " + order);
- }
-
- public void createCustomerData() {
-
- log.info("Inserting 3 entries for keys: 1, 2, 3");
-
- customerRepository.save(new Customer(1L, new EmailAddress("2@2.com"), "John", "Smith"));
- customerRepository.save(new Customer(2L, new EmailAddress("3@3.com"), "Frank", "Lamport"));
- customerRepository.save(new Customer(3L, new EmailAddress("5@5.com"), "Jude", "Simmons"));
-
- assertThat(customers.keySetOnServer().size()).isEqualTo(3);
- }
-
- public void createProducts() {
-
- productRepository.save(new Product(1L, "Apple iPod", new BigDecimal("99.99"), "An Apple portable music player"));
- productRepository.save(new Product(2L, "Apple iPad", new BigDecimal("499.99"), "An Apple tablet device"));
- var macbook = new Product(3L, "Apple macBook", new BigDecimal("899.99"), "An Apple notebook computer");
- macbook.addAttribute("warranty", "included");
-
- productRepository.save(macbook);
-
- assertThat(products.keySetOnServer().size()).isEqualTo(3);
- }
-
- public void createOrders() {
-
- var random = new Random();
- var address = new Address("it", "doesn't", "matter");
-
- LongStream.rangeClosed(1, 100).forEach((orderId) -> LongStream.rangeClosed(1, 3).forEach((customerId) -> {
- var order = new Order(orderId, customerId, address);
- IntStream.rangeClosed(0, random.nextInt(3) + 1).forEach((lineItemCount) -> {
- var quantity = random.nextInt(3) + 1;
- long productId = random.nextInt(3) + 1;
- order.add(new LineItem(productRepository.findById(productId).get(), quantity));
- });
- orderRepository.save(order);
- }));
-
- assertThat(orders.keySetOnServer().size()).isEqualTo(100);
- }
-}
diff --git a/geode/function-invocation/src/test/resources/logback.xml b/geode/function-invocation/src/test/resources/logback.xml
deleted file mode 100644
index f3b82068a..000000000
--- a/geode/function-invocation/src/test/resources/logback.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- %msg%n
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/geode/pom.xml b/geode/pom.xml
deleted file mode 100755
index 72e20edb0..000000000
--- a/geode/pom.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-
-
- 4.0.0
-
- spring-data-geode-examples
- pom
-
-
- org.springframework.data.examples
- spring-data-examples
- 2.0.0.BUILD-SNAPSHOT
-
-
- Spring Data for Apache Geode - Examples
- Sample projects for Spring Data for Apache Geode
- https://projects.spring.io/spring-data-geode
-
-
- events
- expiration-eviction
- function-invocation
- queries
- security
- storage
- transactions
-
-
-
-
-
-
- 0.0.14.RELEASE
-
-
-
-
-
- org.iq80.snappy
- snappy
- 0.4
-
-
-
-
-
-
- org.springframework.data
- spring-data-geode
-
-
- com.github.javafaker
- javafaker
- 1.0.1
-
-
- org.springframework.data
- spring-data-geode-test
- ${spring.test.data.geode.version}
- test
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
-
-
diff --git a/geode/queries/README.md b/geode/queries/README.md
deleted file mode 100755
index fb464edfa..000000000
--- a/geode/queries/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Queries Example
-
-In this example we will demonstrate different kinds of queries. The kinds of queries we will demonstrate are listed below.
-1. OQL Queries - OQL is similar to SQl and can be used to query regions like SQl queries tables in a relational database.
-2. Continuous Queries - Continuous queries are special OQl queries that run continuously and are updated when th returned result set changes (like then more data is added/removed on the region)
-3. Lucene Queries - Lucene Queries allow you ot query data that has been indexed with Apache Geode's Apache Lucene support.
-
-NOTE: Inorder to see output, you must change the loglevel from "error" to "info" in the `logback.xml` file located under src/test/resources.
\ No newline at end of file
diff --git a/geode/queries/pom.xml b/geode/queries/pom.xml
deleted file mode 100755
index 6e1e9e233..000000000
--- a/geode/queries/pom.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
- 4.0.0
-
-
- org.springframework.data.examples
- spring-data-geode-examples
- 2.0.0.BUILD-SNAPSHOT
-
-
- spring-data-geode-queries-example
- Spring Data Geode - Queries
-
-
-
- org.awaitility
- awaitility
- test
-
-
-
-
diff --git a/geode/queries/src/main/java/example/springdata/geode/client/queries/Customer.java b/geode/queries/src/main/java/example/springdata/geode/client/queries/Customer.java
deleted file mode 100755
index 8a1d80a9b..000000000
--- a/geode/queries/src/main/java/example/springdata/geode/client/queries/Customer.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package example.springdata.geode.client.queries;
-
-import lombok.Data;
-import org.springframework.data.annotation.Id;
-import org.springframework.data.gemfire.mapping.annotation.LuceneIndexed;
-import org.springframework.data.gemfire.mapping.annotation.PartitionRegion;
-
-import java.io.Serializable;
-
-/**
- * A customer used for Lucene examples.
- *
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
- */
-
-@Data
-@PartitionRegion(name = "Customers")
-public class Customer implements Serializable {
-
- @Id
- private Long id;
- private EmailAddress emailAddress;
- private String firstName;
-
- @LuceneIndexed(name = "lastName_lucene")
- private String lastName;
-
- public Customer(long id, EmailAddress emailAddress, String firstName, String lastName) {
- this.id = id;
- this.emailAddress = emailAddress;
- this.firstName = firstName;
- this.lastName = lastName;
- }
-}
diff --git a/geode/queries/src/main/java/example/springdata/geode/client/queries/client/CustomerRepository.java b/geode/queries/src/main/java/example/springdata/geode/client/queries/client/CustomerRepository.java
deleted file mode 100755
index a4df48201..000000000
--- a/geode/queries/src/main/java/example/springdata/geode/client/queries/client/CustomerRepository.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.queries.client;
-
-import example.springdata.geode.client.queries.Customer;
-
-import java.util.List;
-
-import org.springframework.data.gemfire.mapping.annotation.ClientRegion;
-import org.springframework.data.gemfire.repository.Query;
-import org.springframework.data.gemfire.repository.query.annotation.Hint;
-import org.springframework.data.gemfire.repository.query.annotation.Limit;
-import org.springframework.data.gemfire.repository.query.annotation.Trace;
-import org.springframework.data.repository.CrudRepository;
-
-/**
- * @author Patrick Johnson
- */
-@ClientRegion(name = "Customers")
-public interface CustomerRepository extends CrudRepository {
-
- @Trace
- @Limit(100)
- @Hint("emailAddressIndex")
- @Query("select * from /Customers customer where customer.emailAddress.value = $1")
- List findByEmailAddressUsingIndex(String emailAddress);
-
- @Trace
- @Limit(100)
- @Query("select * from /Customers customer where customer.firstName = $1")
- List findByFirstNameUsingIndex(String firstName);
-}
diff --git a/geode/queries/src/main/java/example/springdata/geode/client/queries/client/QueryClientConfig.java b/geode/queries/src/main/java/example/springdata/geode/client/queries/client/QueryClientConfig.java
deleted file mode 100755
index 1a95f4bf3..000000000
--- a/geode/queries/src/main/java/example/springdata/geode/client/queries/client/QueryClientConfig.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.queries.client;
-
-import org.apache.geode.cache.GemFireCache;
-import org.apache.geode.cache.client.ClientRegionShortcut;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.DependsOn;
-import org.springframework.data.gemfire.GemfireTemplate;
-import org.springframework.data.gemfire.config.annotation.ClientCacheApplication;
-import org.springframework.data.gemfire.config.annotation.EnableClusterDefinedRegions;
-import org.springframework.data.gemfire.config.annotation.EnableContinuousQueries;
-import org.springframework.data.gemfire.repository.config.EnableGemfireRepositories;
-import org.springframework.data.gemfire.search.lucene.LuceneTemplate;
-
-/**
- * @author Patrick Johnson
- */
-@Configuration
-@EnableGemfireRepositories
-@ClientCacheApplication(name = "CQClientCache", logLevel = "error", pingInterval = 5000L, readTimeout = 15000,
- subscriptionEnabled = true, readyForEvents = true)
-@EnableContinuousQueries
-@EnableClusterDefinedRegions(clientRegionShortcut = ClientRegionShortcut.PROXY)
-public class QueryClientConfig {
-
- @Bean("customerTemplate")
- @DependsOn("Customers")
- protected GemfireTemplate configureCustomerTemplate(GemFireCache gemfireCache) {
- return new GemfireTemplate(gemfireCache.getRegion("Customers"));
- }
-
- @Bean
- LuceneTemplate createCustomerLuceneTemplate() {
- return new LuceneTemplate("lastName_lucene", "/Customers");
- }
-}
diff --git a/geode/queries/src/main/java/example/springdata/geode/client/queries/server/QueryServerConfig.java b/geode/queries/src/main/java/example/springdata/geode/client/queries/server/QueryServerConfig.java
deleted file mode 100755
index ed36eeefa..000000000
--- a/geode/queries/src/main/java/example/springdata/geode/client/queries/server/QueryServerConfig.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.queries.server;
-
-import example.springdata.geode.client.queries.Customer;
-import example.springdata.geode.client.queries.client.CustomerRepository;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.DependsOn;
-import org.springframework.data.gemfire.config.annotation.CacheServerApplication;
-import org.springframework.data.gemfire.config.annotation.EnableEntityDefinedRegions;
-import org.springframework.data.gemfire.config.annotation.EnableIndexing;
-import org.springframework.data.gemfire.repository.config.EnableGemfireRepositories;
-import org.springframework.data.gemfire.search.lucene.LuceneTemplate;
-
-/**
- * @author Patrick Johnson
- */
-@Configuration
-@CacheServerApplication(logLevel = "error")
-@EnableGemfireRepositories(basePackageClasses = CustomerRepository.class)
-@EnableEntityDefinedRegions(basePackageClasses = Customer.class)
-@EnableIndexing
-public class QueryServerConfig {
-
- @Bean
- @DependsOn("lastName_lucene")
- LuceneTemplate createCustomerLuceneTemplate() {
- return new LuceneTemplate("lastName_lucene", "/Customers");
- }
-}
diff --git a/geode/queries/src/test/java/example/springdata/geode/client/queries/QueryTests.java b/geode/queries/src/test/java/example/springdata/geode/client/queries/QueryTests.java
deleted file mode 100755
index fe94d5510..000000000
--- a/geode/queries/src/test/java/example/springdata/geode/client/queries/QueryTests.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.queries;
-
-import static org.assertj.core.api.Assertions.*;
-
-import example.springdata.geode.client.queries.client.CustomerRepository;
-import example.springdata.geode.client.queries.client.QueryClientConfig;
-import example.springdata.geode.client.queries.server.QueryServer;
-import lombok.extern.apachecommons.CommonsLog;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import javax.annotation.Resource;
-
-import org.apache.geode.cache.Region;
-import org.apache.geode.cache.lucene.LuceneResultStruct;
-import org.apache.geode.cache.query.CqEvent;
-import org.awaitility.Awaitility;
-import org.junit.After;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.data.gemfire.GemfireTemplate;
-import org.springframework.data.gemfire.listener.ContinuousQueryListenerContainer;
-import org.springframework.data.gemfire.listener.annotation.ContinuousQuery;
-import org.springframework.data.gemfire.search.lucene.LuceneTemplate;
-import org.springframework.data.gemfire.tests.integration.ForkingClientServerIntegrationTestsSupport;
-import org.springframework.test.context.junit4.SpringRunner;
-
-/**
- * @author Patrick Johnson
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = QueryClientConfig.class)
-@CommonsLog
-public class QueryTests extends ForkingClientServerIntegrationTestsSupport {
-
- @Autowired private ContinuousQueryListenerContainer container;
-
- @Autowired private CustomerRepository customerRepository;
-
- @Autowired private GemfireTemplate customerTemplate;
-
- @Resource(name = "Customers") private Region customers;
-
- @Autowired private LuceneTemplate luceneTemplate;
-
- private AtomicInteger counter = new AtomicInteger(0);
-
- @BeforeClass
- public static void setup() throws IOException {
- startGemFireServer(QueryServer.class);
- }
-
- @Test
- public void luceneIsConfiguredCorrectly() {
-
- customerRepository.save(new Customer(1L, new EmailAddress("name@internet.com"), "Stephanie", "Demarco"));
- customerRepository.save(new Customer(2L, new EmailAddress("cool_Guy57@mail.com"), "Patrick", "Dunham"));
- customerRepository.save(new Customer(3L, new EmailAddress("scientist@mail.com"), "Jasmine", "Oliander"));
- customerRepository.save(new Customer(4L, new EmailAddress("catlover42@mail.com"), "Erica", "Shu"));
- customerRepository.save(new Customer(5L, new EmailAddress("zolander@mail.com"), "Tom", "Darude"));
-
- List> lastName = luceneTemplate.query("D*", "lastName", 10);
-
- assertThat(lastName.size()).isEqualTo(3);
- log.info("Customers with last names beginning with 'D':");
- lastName.forEach(result -> log.info(result.getValue().toString()));
- }
-
- @Test
- public void oqlQueriesConfiguredCorrectly() {
-
- log.info("Inserting 3 entries for keys: 1, 2, 3");
- var john = new Customer(1L, new EmailAddress("2@2.com"), "John", "Smith");
- var frank = new Customer(2L, new EmailAddress("3@3.com"), "Frank", "Lamport");
- var jude = new Customer(3L, new EmailAddress("5@5.com"), "Jude", "Simmons");
- customerRepository.save(john);
- customerRepository.save(frank);
- customerRepository.save(jude);
- assertThat(customers.keySetOnServer().size()).isEqualTo(3);
-
- var customer = customerRepository.findById(2L).get();
- assertThat(customer).isEqualTo(frank);
- log.info("Find customer with key=2 using GemFireRepository: " + customer);
- List customerList = customerTemplate.find("select * from /Customers where id=$1", 2L).asList();
- assertThat(customerList.size()).isEqualTo(1);
- assertThat(customerList.contains(frank)).isTrue();
- log.info("Find customer with key=2 using GemFireTemplate: " + customerList);
-
- customer = new Customer(1L, new EmailAddress("3@3.com"), "Jude", "Smith");
- customerRepository.save(customer);
- assertThat(customers.keySetOnServer().size()).isEqualTo(3);
-
- customerList = customerRepository.findByEmailAddressUsingIndex("3@3.com");
- assertThat(customerList.size()).isEqualTo(2);
- assertThat(customerList.contains(frank)).isTrue();
- assertThat(customerList.contains(customer)).isTrue();
- log.info("Find customers with emailAddress=3@3.com: " + customerList);
-
- customerList = customerRepository.findByFirstNameUsingIndex("Frank");
- assertThat(customerList.get(0)).isEqualTo(frank);
-
- log.info("Find customers with firstName=Frank: " + customerList);
-
- customerList = customerRepository.findByFirstNameUsingIndex("Jude");
-
- assertThat(customerList.size()).isEqualTo(2);
- assertThat(customerList.contains(jude)).isTrue();
- assertThat(customerList.contains(customer)).isTrue();
-
- log.info("Find customers with firstName=Jude: " + customerList);
- }
-
- @Test
- public void continuousQueryWorkingCorrectly() {
-
- assertThat(this.customers).isEmpty();
-
- log.info("Inserting 3 entries for keys: 1, 2, 3");
-
- customerRepository.save(new Customer(1L, new EmailAddress("2@2.com"), "John", "Smith"));
- customerRepository.save(new Customer(2L, new EmailAddress("3@3.com"), "Frank", "Lamport"));
- customerRepository.save(new Customer(3L, new EmailAddress("5@5.com"), "Jude", "Simmons"));
-
- assertThat(customers.keySetOnServer().size()).isEqualTo(3);
-
- Awaitility.await().atMost(30, TimeUnit.SECONDS).until(() -> this.counter.get() == 3);
- }
-
- @ContinuousQuery(name = "CustomerCQ", query = "SELECT * FROM /Customers")
- public void handleEvent(CqEvent event) {
- log.info("Received message for CQ 'CustomerCQ'" + event);
- counter.incrementAndGet();
- }
-
- @After
- public void cleanup() {
- customerRepository.deleteAll(customerRepository.findAll());
- container.getQueryService().closeCqs();
- }
-}
diff --git a/geode/queries/src/test/resources/logback.xml b/geode/queries/src/test/resources/logback.xml
deleted file mode 100644
index f3b82068a..000000000
--- a/geode/queries/src/test/resources/logback.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- %msg%n
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/geode/security/README.md b/geode/security/README.md
deleted file mode 100755
index af8732ed5..000000000
--- a/geode/security/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Security Example
-
-In this example a [Pivotal GemFire](https://pivotal.io/pivotal-gemfire) / [Apache Geode](http://geode.apache.org/) client and server will set up with security (username/password) authentication using Geode Security and Apache Shiro.
-
-To run the example simply run the tests located under security/src/test in your IDE. There are two test files; one uses Geode Security and the other uses Apache Shiro. Both versions should behave the same.
-
-The client is configured to connect to the server on `localhost` port `40404`. There is no need to start the server separately, as that is taken care of by the test.
-
-## Running the example
-
-The example is broken up into multiple steps:
-1. Insert (Put) three Customer entries into the `Customers` region using the repositories `save` method.
-2. Print the customers on the server.
-
-NOTE: Inorder to see output, you must change the loglevel from "error" to "info" in the `logback.xml` file located under src/test/resources.
\ No newline at end of file
diff --git a/geode/security/pom.xml b/geode/security/pom.xml
deleted file mode 100755
index 3e761b2b0..000000000
--- a/geode/security/pom.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
- 4.0.0
-
-
- org.springframework.data.examples
- spring-data-geode-examples
- 2.0.0.BUILD-SNAPSHOT
-
-
- spring-data-geode-security-example
- Spring Data Geode - Security
-
-
-
- org.springframework
- spring-jdbc
-
-
- org.springframework.data
- spring-data-jpa
-
-
- org.hsqldb
- hsqldb
-
-
- javax.persistence
- javax.persistence-api
-
-
-
-
diff --git a/geode/security/src/main/java/example/springdata/geode/client/security/Constants.java b/geode/security/src/main/java/example/springdata/geode/client/security/Constants.java
deleted file mode 100755
index 570ee5733..000000000
--- a/geode/security/src/main/java/example/springdata/geode/client/security/Constants.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.security;
-
-/**
- * The [Constants] class contains properties and other constants used in the Apache Geode Integrated Security
- * framework.
- *
- * @author John Blum
- * @since 1.0.0
- */
-public class Constants {
-
- public static final String SECURITY_PASSWORD_PROPERTY = "security-password";
- public static final String SECURITY_USERNAME_PROPERTY = "security-username";
-}
diff --git a/geode/security/src/main/java/example/springdata/geode/client/security/Customer.java b/geode/security/src/main/java/example/springdata/geode/client/security/Customer.java
deleted file mode 100755
index 9a7a76a9a..000000000
--- a/geode/security/src/main/java/example/springdata/geode/client/security/Customer.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.security;
-
-import lombok.Data;
-import org.springframework.data.annotation.Id;
-import org.springframework.data.gemfire.mapping.annotation.Region;
-
-import java.io.Serializable;
-
-/**
- * A customer used for Lucene examples.
- *
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
- */
-@Data
-@Region(name = "Customers")
-public class Customer implements Serializable {
-
- @Id
- private Long id;
- private EmailAddress emailAddress;
- private String firstName;
- private String lastName;
-
- public Customer(Long id, EmailAddress emailAddress, String firstName, String lastName) {
- this.id = id;
- this.emailAddress = emailAddress;
- this.firstName = firstName;
- this.lastName = lastName;
- }
-}
diff --git a/geode/security/src/main/java/example/springdata/geode/client/security/EmailAddress.java b/geode/security/src/main/java/example/springdata/geode/client/security/EmailAddress.java
deleted file mode 100755
index b0bc5579e..000000000
--- a/geode/security/src/main/java/example/springdata/geode/client/security/EmailAddress.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.security;
-
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * Value object to represent email addresses.
- *
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
- */
-@Data
-public class EmailAddress implements Serializable {
- private String value;
-
- public EmailAddress(String value) {
-
- this.value = value;
- }
-}
diff --git a/geode/security/src/main/java/example/springdata/geode/client/security/Role.java b/geode/security/src/main/java/example/springdata/geode/client/security/Role.java
deleted file mode 100755
index aa73b3feb..000000000
--- a/geode/security/src/main/java/example/springdata/geode/client/security/Role.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.security;
-
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-
-import org.apache.geode.security.ResourcePermission;
-
-/**
- * The [Role] class is an Abstract Data Type (ADT) modeling a role of a user (e.g. Admin).
- *
- * @author John Blum
- * @see Serializable
- * @see Comparable
- * @see Iterable
- * @see ResourcePermission
- * @since 1.0.0
- */
-@Data
-public class Role implements Comparable, Iterable, Serializable {
-
- private String name;
- private HashSet permissions = new HashSet<>();
-
- public Role(String name) {
- this.name = name;
- }
-
- public String getId() {
- return name;
- }
-
- public void setId(String id) {
- throw new UnsupportedOperationException("Operation Not Supported");
- }
-
- /**
- * @inheritDoc
- */
- @Override
- public int compareTo(Role other) {
- return name.compareTo(other.name);
- }
-
- /**
- * Determines whether this [Role] has been assigned (granted) the given [permission][ResourcePermission].
- *
- * @param permission [ResourcePermission] to evaluate.
- * @return a boolean value indicating whether this [Role] has been assigned (granted) the given
- * [permission][ResourcePermission].
- * @see ResourcePermission
- */
- public boolean hasPermission(ResourcePermission permission) {
- return this.permissions.contains(permission);
- }
-
- /**
- * @inheritDoc
- */
- @Override
- public Iterator iterator() {
- return this.permissions.iterator();
- }
-
- /**
- * Adds (assigns/grants) all given [persmissions][ResourcePermission] to this [Role].
- *
- * @param permissions [ResourcePermission]s to assign/grant to this [Role].
- * @return this [Role].
- * @see ResourcePermission
- */
- public Role withPermissions(ResourcePermission... permissions) {
- this.permissions.addAll((Arrays.asList(permissions)));
- return this;
- }
-
- /**
- * Adds (assigns/grants) all given [persmissions][ResourcePermission] to this [Role].
- *
- * @param permissions [ResourcePermission]s to assign/grant to this [Role].
- * @return this [Role].
- * @see ResourcePermission
- */
- public Role withPersmissions(Iterable permissions) {
- this.permissions.addAll((Collection extends ResourcePermission>) permissions);
- return this;
- }
-
- /**
- * Factory method used to construct a new instance of [Role] initialized with the given name.
- *
- * @param name [String] indicating the name of the new [Role].
- * @return a new [Role] initialized with the given name.
- * @see Role
- */
- public static Role newRole(String name) {
- return new Role(name);
- }
-}
diff --git a/geode/security/src/main/java/example/springdata/geode/client/security/User.java b/geode/security/src/main/java/example/springdata/geode/client/security/User.java
deleted file mode 100755
index 449301f5d..000000000
--- a/geode/security/src/main/java/example/springdata/geode/client/security/User.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.security;
-
-import lombok.Data;
-
-import java.io.Serializable;
-import java.security.Principal;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.geode.security.ResourcePermission;
-
-/**
- * @author Patrick Johnson
- */
-@Data
-public class User implements Comparable, Cloneable, Principal, Serializable, Iterable {
-
- private String name;
- private List roles;
-
- private String credentials = null;
-
- public User(String name, List roles) {
- this.name = name;
- this.roles = roles;
- }
-
- public User(String name) {
- this(name, new ArrayList<>());
- }
-
- public void setId(String id) {
- throw new UnsupportedOperationException("Operation Not Supported");
- }
-
- public String getId() {
- return name;
- }
-
- @Override
- public Iterator iterator() {
- return roles.iterator();
- }
-
- /**
- * @inheritDoc
- */
- @Override
- public Object clone() {
- return newUser(name).withCredentials(credentials).withRoles(roles);
- }
-
- /**
- * @inheritDoc
- */
- @Override
- public int compareTo(User other) {
- return this.getName().compareTo(other.getName());
- }
-
- /**
- * Determines whether this [User] has been granted (assigned) the given [permission][ResourcePermission].
- *
- * @param permission [ResourcePermission] to evalute.
- * @return a boolean value indicating whether this [User] has been granted (assigned) the given [ResourcePermission].
- * @see ResourcePermission
- */
- public boolean hasPermission(ResourcePermission permission) {
- for (var role : roles) {
- if (role.hasPermission(permission)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Determines whether this [User] has the specified [Role].
- *
- * @param role [Role] to evaluate.
- * @return a boolean value indicating whether this [User] has the specified [Role].
- * @see Role
- */
- public boolean hasRole(Role role) {
- return roles.contains(role);
- }
-
- /**
- * Adds the array of [Roles][Role] granting (resource) permissions to this [User].
- *
- * @param roles array of [Roles][Role] granting (resource) permissions to this [User].
- * @return this [User].
- * @see Role
- */
- public User withRoles(Role... roles) {
- this.roles.addAll(Arrays.asList(roles));
- return this;
- }
-
- public User withRoles(Collection roles) {
- this.roles.addAll(roles);
- return this;
- }
-
- /**
- * Sets this [User's][User] credentials (e.g. password) to the given value.
- *
- * @param credentials [String] containing this [User's][User] credentials (e.g. password).
- * @return this [User].
- * @see User
- */
- public User withCredentials(String credentials) {
- this.credentials = credentials;
- return this;
- }
-
- public static User newUser(String name) {
- return new User(name);
- }
-
- @Override
- public String getName() {
- return name;
- }
-}
diff --git a/geode/security/src/main/java/example/springdata/geode/client/security/client/SecurityEnabledClientConfiguration.java b/geode/security/src/main/java/example/springdata/geode/client/security/client/SecurityEnabledClientConfiguration.java
deleted file mode 100755
index 917367f8c..000000000
--- a/geode/security/src/main/java/example/springdata/geode/client/security/client/SecurityEnabledClientConfiguration.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.security.client;
-
-import example.springdata.geode.client.security.Customer;
-import org.apache.geode.cache.client.ClientRegionShortcut;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.data.gemfire.config.annotation.ClientCacheApplication;
-import org.springframework.data.gemfire.config.annotation.EnableEntityDefinedRegions;
-import org.springframework.data.gemfire.config.annotation.EnableSecurity;
-import org.springframework.data.gemfire.repository.config.EnableGemfireRepositories;
-
-@Configuration
-@EnableSecurity
-@EnableGemfireRepositories(basePackageClasses = CustomerRepository.class)
-@ClientCacheApplication(name = "SecurityClient", logLevel = "error", pingInterval = 5000L, readTimeout = 15000, retryAttempts = 1)
-@EnableEntityDefinedRegions(basePackageClasses = Customer.class, clientRegionShortcut = ClientRegionShortcut.CACHING_PROXY)
-public class SecurityEnabledClientConfiguration {
-}
diff --git a/geode/security/src/main/java/example/springdata/geode/client/security/server/CachingSecurityRepository.java b/geode/security/src/main/java/example/springdata/geode/client/security/server/CachingSecurityRepository.java
deleted file mode 100755
index 70db0df29..000000000
--- a/geode/security/src/main/java/example/springdata/geode/client/security/server/CachingSecurityRepository.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.security.server;
-
-import example.springdata.geode.client.security.User;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * The [CachingSecurityRepository] class caches Security Configuration Meta-Data and is meant to be extended
- * by classes that are data store specified (e.g. JDBC/RDBMS, LDAP, etc).
- *
- * @author John Blum
- * @see User
- * @see SecurityRepository
- * @since 1.0.0
- */
-public abstract class CachingSecurityRepository implements SecurityRepository {
-
- private Map users = new HashMap<>();
-
- @Override
- public Iterable findAll() {
- return users.values();
- }
-
- @Override
- public boolean delete(User user) {
- if (user != null) {
- return users.remove(user.getName()) != null;
- }
- return false;
- }
-
- @Override
- public User save(User user) {
- var putUser = users.put(user.getName(), user);
- return putUser != null ? putUser : user;
- }
-}
diff --git a/geode/security/src/main/java/example/springdata/geode/client/security/server/GeodeIntegratedSecurityProxyConfiguration.java b/geode/security/src/main/java/example/springdata/geode/client/security/server/GeodeIntegratedSecurityProxyConfiguration.java
deleted file mode 100644
index e6ba1c01a..000000000
--- a/geode/security/src/main/java/example/springdata/geode/client/security/server/GeodeIntegratedSecurityProxyConfiguration.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.security.server;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Profile;
-import org.springframework.data.gemfire.config.annotation.EnableSecurity;
-
-/**
- * @author Patrick Johnson
- */
-@Configuration
-@EnableSecurity(securityManagerClassName = "example.springdata.geode.client.security.server.SecurityManagerProxy")
-@Profile({ "default", "geode-security-manager-proxy-configuration" })
-public class GeodeIntegratedSecurityProxyConfiguration {}
diff --git a/geode/security/src/main/java/example/springdata/geode/client/security/server/JdbcSecurityRepository.java b/geode/security/src/main/java/example/springdata/geode/client/security/server/JdbcSecurityRepository.java
deleted file mode 100644
index 83a397c65..000000000
--- a/geode/security/src/main/java/example/springdata/geode/client/security/server/JdbcSecurityRepository.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright 2020-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.geode.client.security.server;
-
-import example.springdata.geode.client.security.Role;
-import example.springdata.geode.client.security.User;
-import lombok.extern.apachecommons.CommonsLog;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-
-import org.apache.geode.security.ResourcePermission;
-
-import org.springframework.beans.factory.InitializingBean;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
-import org.springframework.stereotype.Repository;
-
-/**
- * @author Patrick Johnson
- */
-@Repository
-@CommonsLog
-public class JdbcSecurityRepository extends CachingSecurityRepository implements InitializingBean {
-
- private final JdbcTemplate jdbcTemplate;
- private static final String ROLES_QUERY = "SELECT name FROM geode_security.roles";
- private static final String ROLE_PERMISSIONS_QUERY = ""
- + " SELECT rolePerms.resource, rolePerms.operation, rolePerms.region_name, rolePerms.key_name"
- + " FROM geode_security.roles_permissions rolePerms"
- + " INNER JOIN geode_security.roles roles ON roles.id = rolePerms.role_id " + " WHERE roles.name = ?";
- private static final String USERS_QUERY = "SELECT name, credentials FROM geode_security.users";
- private static final String USER_ROLES_QUERY = "" + " SELECT roles.name" + " FROM geode_security.roles roles"
- + " INNER JOIN geode_security.users_roles userRoles ON roles.id = userRoles.role_id"
- + " INNER JOIN geode_security.users users ON userRoles.user_id = users.id" + " WHERE users.name = ?";
-
- public JdbcSecurityRepository(JdbcTemplate jdbcTemplate) {
- this.jdbcTemplate = jdbcTemplate;
- }
-
- public void afterPropertiesSet() {
-
- var roles = this.jdbcTemplate.query(ROLES_QUERY, (resultSet, i) -> Role.newRole(resultSet.getString(1)));
- var roleMapping = new HashMap(roles.size());
-
- roles.forEach((role) -> {
- this.jdbcTemplate.query(ROLE_PERMISSIONS_QUERY, Collections.singleton(role.getName()).toArray(),
- (RowMapper
\ No newline at end of file
+
diff --git a/jdbc/howto/bidirectionalexternal/src/test/java/example/springdata/jdbc/howto/bidirectionalexternal/BidirectionalApplicationTests.java b/jdbc/howto/bidirectionalexternal/src/test/java/example/springdata/jdbc/howto/bidirectionalexternal/BidirectionalApplicationTests.java
index 6a1a40674..91b0497e9 100644
--- a/jdbc/howto/bidirectionalexternal/src/test/java/example/springdata/jdbc/howto/bidirectionalexternal/BidirectionalApplicationTests.java
+++ b/jdbc/howto/bidirectionalexternal/src/test/java/example/springdata/jdbc/howto/bidirectionalexternal/BidirectionalApplicationTests.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package example.springdata.jdbc.howto.bidirectionalexternal;
import static org.assertj.core.api.Assertions.*;
@@ -5,12 +20,13 @@
import java.util.Collection;
import org.junit.jupiter.api.Test;
+
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.data.jdbc.test.autoconfigure.DataJdbcTest;
import org.springframework.data.jdbc.core.JdbcAggregateTemplate;
import org.springframework.data.jdbc.core.mapping.AggregateReference;
-@SpringBootTest
+@DataJdbcTest
class BidirectionalApplicationTests {
@Autowired
diff --git a/jdbc/howto/bidirectionalinternal/pom.xml b/jdbc/howto/bidirectionalinternal/pom.xml
index 246b2ed1f..45d91d248 100644
--- a/jdbc/howto/bidirectionalinternal/pom.xml
+++ b/jdbc/howto/bidirectionalinternal/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data.examplesspring-data-jdbc-how-to
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
@@ -15,7 +15,7 @@
Spring Data JDBC - How to model aggregate internal bidirectional relationshipsSample project for Spring Data JDBC demonstrating how to model aggregate internal bidirectional relationships.
- It serves as a source code repository for a How To article on the Spring Blog
- https://projects.spring.io/spring-data-jdbc
+ It serves as a source code repository for a How-To article on the Spring Blog
+ https://spring.io/spring-data-jdbc2021
-
\ No newline at end of file
+
diff --git a/jdbc/howto/bidirectionalinternal/src/main/java/example/springdata/jdbc/howto/bidirectionalinternal/Minion.java b/jdbc/howto/bidirectionalinternal/src/main/java/example/springdata/jdbc/howto/bidirectionalinternal/Minion.java
index 7e3aca72e..a5905b26b 100644
--- a/jdbc/howto/bidirectionalinternal/src/main/java/example/springdata/jdbc/howto/bidirectionalinternal/Minion.java
+++ b/jdbc/howto/bidirectionalinternal/src/main/java/example/springdata/jdbc/howto/bidirectionalinternal/Minion.java
@@ -20,7 +20,7 @@
import java.util.Set;
import org.springframework.data.annotation.Id;
-import org.springframework.data.annotation.PersistenceConstructor;
+import org.springframework.data.annotation.PersistenceCreator;
class Minion {
@Id
@@ -32,7 +32,7 @@ class Minion {
this.name = name;
}
- @PersistenceConstructor
+ @PersistenceCreator
private Minion(Long id, String name, Collection toys) {
this.id = id;
diff --git a/jdbc/howto/bidirectionalinternal/src/test/java/example/springdata/jdbc/howto/bidirectionalinternal/BiDiInternalApplicationTests.java b/jdbc/howto/bidirectionalinternal/src/test/java/example/springdata/jdbc/howto/bidirectionalinternal/BiDiInternalApplicationTests.java
index 1a4600860..999232895 100644
--- a/jdbc/howto/bidirectionalinternal/src/test/java/example/springdata/jdbc/howto/bidirectionalinternal/BiDiInternalApplicationTests.java
+++ b/jdbc/howto/bidirectionalinternal/src/test/java/example/springdata/jdbc/howto/bidirectionalinternal/BiDiInternalApplicationTests.java
@@ -1,10 +1,26 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package example.springdata.jdbc.howto.bidirectionalinternal;
import org.junit.jupiter.api.Test;
+
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.data.jdbc.test.autoconfigure.DataJdbcTest;
-@SpringBootTest
+@DataJdbcTest
class BiDiInternalApplicationTests {
@Autowired
diff --git a/jdbc/howto/caching/pom.xml b/jdbc/howto/caching/pom.xml
index e62b8444e..4220eae88 100644
--- a/jdbc/howto/caching/pom.xml
+++ b/jdbc/howto/caching/pom.xml
@@ -7,7 +7,7 @@
org.springframework.data.examplesspring-data-jdbc-how-to
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
@@ -15,7 +15,16 @@
Sample project for Spring Data JDBC demonstrating how it can be used with Springs caching
abstraction.
- https://projects.spring.io/spring-data-jdbc
+ https://spring.io/spring-data-jdbc2021
+
+
+
+ org.springframework.boot
+ spring-boot-starter-cache
+
+
+
+
diff --git a/jdbc/howto/idgeneration/pom.xml b/jdbc/howto/idgeneration/pom.xml
index 523a0279f..9ac1666e7 100644
--- a/jdbc/howto/idgeneration/pom.xml
+++ b/jdbc/howto/idgeneration/pom.xml
@@ -7,14 +7,14 @@
org.springframework.data.examplesspring-data-jdbc-how-to
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xmlSpring Data JDBC - How to ID generationSample project for Spring Data JDBC demonstrating the various options to use user defined IDs in Spring Data JDBC aggregates.
- It serves as a source code repository for a How To article on the Spring Blog
- https://projects.spring.io/spring-data-jdbc
+ It serves as a source code repository for a How-To article on the Spring Blog
+ https://spring.io/spring-data-jdbc2021
diff --git a/jdbc/howto/idgeneration/src/main/java/example.springdata/jdbc/howto/idgeneration/IdGenerationApplication.java b/jdbc/howto/idgeneration/src/main/java/example.springdata/jdbc/howto/idgeneration/IdGenerationApplication.java
index 3b76e1899..4b75d8d34 100644
--- a/jdbc/howto/idgeneration/src/main/java/example.springdata/jdbc/howto/idgeneration/IdGenerationApplication.java
+++ b/jdbc/howto/idgeneration/src/main/java/example.springdata/jdbc/howto/idgeneration/IdGenerationApplication.java
@@ -5,7 +5,7 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
-import org.springframework.data.relational.core.mapping.event.BeforeSaveCallback;
+import org.springframework.data.relational.core.mapping.event.BeforeConvertCallback;
@SpringBootApplication
class IdGenerationApplication {
@@ -15,9 +15,9 @@ public static void main(String[] args) {
}
@Bean
- BeforeSaveCallback beforeSaveCallback() {
+ BeforeConvertCallback beforeSaveCallback() {
- return (minion, mutableAggregateChange) -> {
+ return (minion) -> {
if (minion.id == null) {
minion.id = UUID.randomUUID().toString();
}
diff --git a/jdbc/howto/idgeneration/src/test/java/example/springdata/jdbc/howto/idgeneration/IdGenerationApplicationTests.java b/jdbc/howto/idgeneration/src/test/java/example/springdata/jdbc/howto/idgeneration/IdGenerationApplicationTests.java
index bf235167e..de0ef9fde 100644
--- a/jdbc/howto/idgeneration/src/test/java/example/springdata/jdbc/howto/idgeneration/IdGenerationApplicationTests.java
+++ b/jdbc/howto/idgeneration/src/test/java/example/springdata/jdbc/howto/idgeneration/IdGenerationApplicationTests.java
@@ -1,14 +1,30 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package example.springdata.jdbc.howto.idgeneration;
import static org.assertj.core.api.Assertions.*;
import org.junit.jupiter.api.Test;
+
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.data.jdbc.test.autoconfigure.DataJdbcTest;
import org.springframework.dao.IncorrectUpdateSemanticsDataAccessException;
import org.springframework.data.jdbc.core.JdbcAggregateTemplate;
-@SpringBootTest
+@DataJdbcTest
class IdGenerationApplicationTests {
@Autowired
@@ -44,7 +60,7 @@ void cantSaveNewAggregateWithPresetId() {
before.id = 42L;
// We can't save this because Spring Data JDBC thinks it has to do an update.
- assertThatThrownBy(() -> minions.save(before)).getRootCause().isInstanceOf(IncorrectUpdateSemanticsDataAccessException.class);
+ assertThatThrownBy(() -> minions.save(before)).isInstanceOf(IncorrectUpdateSemanticsDataAccessException.class);
}
@Test
diff --git a/jdbc/howto/pom.xml b/jdbc/howto/pom.xml
index 5da1ec323..fcdff5dbd 100644
--- a/jdbc/howto/pom.xml
+++ b/jdbc/howto/pom.xml
@@ -8,14 +8,14 @@
org.springframework.data.examplesspring-data-jdbc-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xmlSpring Data JDBC - How to ExamplesSample projects for Spring Data JDBC demonstrating various features and options.
It serves as a source code repository for a series of How To articles on the Spring Blog
- https://projects.spring.io/spring-data-jdbc
+ https://spring.io/spring-data-jdbc2021
@@ -24,6 +24,7 @@
cachingidgenerationselectiveupdate
+ schema-generation
diff --git a/jdbc/howto/schema-generation/.gitignore b/jdbc/howto/schema-generation/.gitignore
new file mode 100644
index 000000000..a718e9947
--- /dev/null
+++ b/jdbc/howto/schema-generation/.gitignore
@@ -0,0 +1 @@
+cs-*.yaml
\ No newline at end of file
diff --git a/jdbc/howto/schema-generation/README.adoc b/jdbc/howto/schema-generation/README.adoc
new file mode 100644
index 000000000..3f27e40fe
--- /dev/null
+++ b/jdbc/howto/schema-generation/README.adoc
@@ -0,0 +1,5 @@
+== Spring Data JDBC How To Generate the Database Schema.
+
+Spring Data JDBC offers an API to generate Liquibase Changesets from your domain model and optionally an existing database.
+
+This project demonstrates how to do this.
diff --git a/jdbc/howto/schema-generation/pom.xml b/jdbc/howto/schema-generation/pom.xml
new file mode 100644
index 000000000..73e8ad543
--- /dev/null
+++ b/jdbc/howto/schema-generation/pom.xml
@@ -0,0 +1,29 @@
+
+ 4.0.0
+
+ spring-data-jdbc-how-to-schema-generation
+
+
+ org.springframework.data.examples
+ spring-data-jdbc-how-to
+ 4.0.0-SNAPSHOT
+ ../pom.xml
+
+
+ Spring Data JDBC - How to do schema generation
+ Sample project for Spring Data JDBC demonstrating how it can be used to generate and update your
+ schema.
+
+ https://spring.io/spring-data-jdbc
+ 2023
+
+
+
+
+ org.liquibase
+ liquibase-core
+
+
+
+
diff --git a/jdbc/howto/schema-generation/src/main/java/example.springdata/jdbc/howto/caching/Minion.java b/jdbc/howto/schema-generation/src/main/java/example.springdata/jdbc/howto/caching/Minion.java
new file mode 100644
index 000000000..0ac2e9fbf
--- /dev/null
+++ b/jdbc/howto/schema-generation/src/main/java/example.springdata/jdbc/howto/caching/Minion.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2023 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jdbc.howto.caching;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.relational.core.mapping.Table;
+
+
+/**
+ * Entity we use as a fixture for demonstrating Schema Generation.
+ * See SchemaGenerationTest in the test directory for the interesting stuff.
+ *
+ * @author Jens Schauder
+ * @since 3.2
+ */
+@Table
+class Minion {
+
+ @Id
+ Long id;
+
+ @Name
+ String name;
+
+ Minion(String name) {
+ this.name = name;
+ }
+
+ public Long getId() {
+ return id;
+ }
+}
diff --git a/jdbc/howto/schema-generation/src/main/java/example.springdata/jdbc/howto/caching/Name.java b/jdbc/howto/schema-generation/src/main/java/example.springdata/jdbc/howto/caching/Name.java
new file mode 100644
index 000000000..91d4158fb
--- /dev/null
+++ b/jdbc/howto/schema-generation/src/main/java/example.springdata/jdbc/howto/caching/Name.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2023 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jdbc.howto.caching;
+
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Annotation to mark a property as a Name which should have a very specify database type.
+ *
+ * @author Jens Schauder
+ */
+@Varchar(20)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Name {
+}
diff --git a/jdbc/howto/schema-generation/src/main/java/example.springdata/jdbc/howto/caching/SchemaGenerationExampleApplication.java b/jdbc/howto/schema-generation/src/main/java/example.springdata/jdbc/howto/caching/SchemaGenerationExampleApplication.java
new file mode 100644
index 000000000..3fd9634d5
--- /dev/null
+++ b/jdbc/howto/schema-generation/src/main/java/example.springdata/jdbc/howto/caching/SchemaGenerationExampleApplication.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jdbc.howto.caching;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ * Boot application that we use as a fixture for demonstrating Schema Generation.
+ * See SchemaGenerationTest in the test directory for the interesting stuff.
+ *
+ * @author Jens Schauder
+ * @since 3.2
+ */
+@SpringBootApplication
+class SchemaGenerationExampleApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SchemaGenerationExampleApplication.class, args);
+ }
+
+}
diff --git a/geode/events/src/main/java/example/springdata/geode/server/events/EmailAddress.java b/jdbc/howto/schema-generation/src/main/java/example.springdata/jdbc/howto/caching/Varchar.java
old mode 100755
new mode 100644
similarity index 59%
rename from geode/events/src/main/java/example/springdata/geode/server/events/EmailAddress.java
rename to jdbc/howto/schema-generation/src/main/java/example.springdata/jdbc/howto/caching/Varchar.java
index 73394bf20..626af7e15
--- a/geode/events/src/main/java/example/springdata/geode/server/events/EmailAddress.java
+++ b/jdbc/howto/schema-generation/src/main/java/example.springdata/jdbc/howto/caching/Varchar.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2023 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,25 +13,21 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.geode.server.events;
+package example.springdata.jdbc.howto.caching;
-import lombok.Data;
-
-import java.io.Serializable;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
/**
- * Value object to represent email addresses.
+ * Marks a property as to be represented by a VARCHAR database type.
*
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
+ * @author Jens Schauder
*/
-@Data
-public class EmailAddress implements Serializable {
-
- private String value;
-
- public EmailAddress(String value) {
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Varchar {
- this.value = value;
- }
+ /**
+ * the size of the varchar.
+ */
+ int value();
}
diff --git a/jdbc/howto/schema-generation/src/main/resources/application.properties b/jdbc/howto/schema-generation/src/main/resources/application.properties
new file mode 100644
index 000000000..07ddc16f1
--- /dev/null
+++ b/jdbc/howto/schema-generation/src/main/resources/application.properties
@@ -0,0 +1,2 @@
+# Disable Liquibase when you don't have changesets configured yet.
+# spring.liquibase.enabled=false
\ No newline at end of file
diff --git a/jdbc/howto/schema-generation/src/main/resources/db/changelog/db.changelog-master.yaml b/jdbc/howto/schema-generation/src/main/resources/db/changelog/db.changelog-master.yaml
new file mode 100644
index 000000000..615ec854d
--- /dev/null
+++ b/jdbc/howto/schema-generation/src/main/resources/db/changelog/db.changelog-master.yaml
@@ -0,0 +1,32 @@
+databaseChangeLog:
+- changeSet:
+ id: '1692725820135'
+ author: Spring Data Relational
+ objectQuotingStrategy: LEGACY
+ changes:
+ - createTable:
+ columns:
+ - column:
+ autoIncrement: true
+ constraints:
+ nullable: true
+ primaryKey: true
+ name: id
+ type: BIGINT
+ - column:
+ constraints:
+ nullable: true
+ name: firstname
+ type: VARCHAR(255 BYTE)
+ - column:
+ constraints:
+ nullable: true
+ name: lastname
+ type: VARCHAR(255 BYTE)
+ - column:
+ constraints:
+ nullable: true
+ name: special
+ type: VARCHAR(255 BYTE)
+ tableName: minion
+
diff --git a/jdbc/howto/schema-generation/src/test/java/example/springdata/jdbc/howto/caching/SchemaGenerationTest.java b/jdbc/howto/schema-generation/src/test/java/example/springdata/jdbc/howto/caching/SchemaGenerationTest.java
new file mode 100644
index 000000000..1ca47de31
--- /dev/null
+++ b/jdbc/howto/schema-generation/src/test/java/example/springdata/jdbc/howto/caching/SchemaGenerationTest.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jdbc.howto.caching;
+
+import liquibase.database.Database;
+import liquibase.database.core.HsqlDatabase;
+import liquibase.database.jvm.JdbcConnection;
+import liquibase.exception.LiquibaseException;
+
+import java.io.File;
+import java.io.IOException;
+import java.sql.SQLException;
+import java.util.Collections;
+
+import javax.sql.DataSource;
+
+import org.junit.jupiter.api.Test;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.data.jdbc.test.autoconfigure.DataJdbcTest;
+import org.springframework.core.io.FileSystemResource;
+import org.springframework.data.jdbc.core.mapping.schema.DefaultSqlTypeMapping;
+import org.springframework.data.jdbc.core.mapping.schema.LiquibaseChangeSetWriter;
+import org.springframework.data.jdbc.core.mapping.schema.SqlTypeMapping;
+import org.springframework.data.relational.core.mapping.RelationalMappingContext;
+
+/**
+ * Example code demonstrating how to use the Schema Generation Feature.
+ *
+ * @author Jens Schauder
+ * @since 3.2
+ */
+@DataJdbcTest
+class SchemaGenerationTest {
+
+ @Autowired
+ RelationalMappingContext context;
+
+ @Autowired
+ DataSource ds;
+
+ @Test
+ void minimumExample() throws IOException {
+
+ // the change set will get appended, so we delete any pre existing file.
+ new File("cs-minimum.yaml").delete();
+
+ context.setInitialEntitySet(Collections.singleton(Minion.class));
+ LiquibaseChangeSetWriter writer = new LiquibaseChangeSetWriter(context);
+
+ writer.writeChangeSet(new FileSystemResource("cs-minimum.yaml"));
+ }
+
+
+ @Test
+ void diffing() {
+
+ // the change set will get appended, so we delete any pre existing file.
+ new File("cs-diff.yaml").delete();
+
+ context.setInitialEntitySet(Collections.singleton(Minion.class));
+ LiquibaseChangeSetWriter writer = new LiquibaseChangeSetWriter(context);
+
+ // drop unused columns
+ writer.setDropColumnFilter((table, column) -> !column.equalsIgnoreCase("special"));
+
+ // for comparison with existing schema
+ try (Database db = new HsqlDatabase()) {
+
+ db.setConnection(new JdbcConnection(ds.getConnection()));
+
+ writer.writeChangeSet(new FileSystemResource("cs-diff.yaml"), db);
+
+ } catch (IOException | SQLException | LiquibaseException e) {
+ throw new RuntimeException("Changeset generation failed", e);
+ }
+ }
+
+ @Test
+ void customizingTypes() throws IOException {
+
+ // the change set will get appended, so we delete any pre existing file.
+ new File("cs-custom.yaml").delete();
+
+ context.setInitialEntitySet(Collections.singleton(Minion.class));
+ LiquibaseChangeSetWriter writer = new LiquibaseChangeSetWriter(context);
+
+ writer.setSqlTypeMapping(((SqlTypeMapping) property -> {
+ if (property.getName().equalsIgnoreCase("name")) {
+ return "VARCHAR(500)";
+ }
+ return null;
+ }).and(new DefaultSqlTypeMapping()));
+
+ writer.writeChangeSet(new FileSystemResource("cs-custom.yaml"));
+
+ }
+
+ @Test
+ void customizingTypesUsingAnnotations() throws IOException {
+
+ // the change set will get appended, so we delete any pre existing file.
+ new File("cs-annotation.yaml").delete();
+
+ context.setInitialEntitySet(Collections.singleton(Minion.class));
+ LiquibaseChangeSetWriter writer = new LiquibaseChangeSetWriter(context);
+
+ writer.setSqlTypeMapping(((SqlTypeMapping) property -> {
+
+ if (!property.getType().equals(String.class)) {
+ return null;
+ }
+
+ // findAnnotation will find meta annotations
+ Varchar varchar = property.findAnnotation(Varchar.class);
+ int value = varchar.value();
+
+ if (varchar == null) {
+ return null;
+ }
+ return "VARCHAR(" +
+ varchar.value() +
+ ")";
+
+ }).and(new DefaultSqlTypeMapping()));
+
+ writer.writeChangeSet(new FileSystemResource("cs-annotation.yaml"));
+
+ }
+}
diff --git a/jdbc/howto/selectiveupdate/pom.xml b/jdbc/howto/selectiveupdate/pom.xml
index 3fa6ca4d4..8ea758760 100644
--- a/jdbc/howto/selectiveupdate/pom.xml
+++ b/jdbc/howto/selectiveupdate/pom.xml
@@ -7,14 +7,14 @@
org.springframework.data.examplesspring-data-jdbc-how-to
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xmlSpring Data JDBC - How to do selective updatesSample project for Spring Data JDBC demonstrating how to update only parts of an aggregate.
- https://projects.spring.io/spring-data-jdbc
+ https://spring.io/spring-data-jdbc2022
diff --git a/jdbc/howto/selectiveupdate/src/main/java/example.springdata/jdbc/howto/selectiveupdate/Minion.java b/jdbc/howto/selectiveupdate/src/main/java/example.springdata/jdbc/howto/selectiveupdate/Minion.java
index 78c105290..cf8ed6d96 100644
--- a/jdbc/howto/selectiveupdate/src/main/java/example.springdata/jdbc/howto/selectiveupdate/Minion.java
+++ b/jdbc/howto/selectiveupdate/src/main/java/example.springdata/jdbc/howto/selectiveupdate/Minion.java
@@ -20,7 +20,7 @@
import java.util.Set;
import org.springframework.data.annotation.Id;
-import org.springframework.data.annotation.PersistenceConstructor;
+import org.springframework.data.annotation.PersistenceCreator;
import org.springframework.data.annotation.Version;
@@ -41,7 +41,7 @@ class Minion {
this.name = name;
}
- @PersistenceConstructor
+ @PersistenceCreator
private Minion(Long id, String name, Collection toys, int version) {
this.id = id;
diff --git a/jdbc/howto/selectiveupdate/src/main/java/example.springdata/jdbc/howto/selectiveupdate/PartyHatRepositoryImpl.java b/jdbc/howto/selectiveupdate/src/main/java/example.springdata/jdbc/howto/selectiveupdate/PartyHatRepositoryImpl.java
index 3513338f6..b0f822c50 100644
--- a/jdbc/howto/selectiveupdate/src/main/java/example.springdata/jdbc/howto/selectiveupdate/PartyHatRepositoryImpl.java
+++ b/jdbc/howto/selectiveupdate/src/main/java/example.springdata/jdbc/howto/selectiveupdate/PartyHatRepositoryImpl.java
@@ -17,6 +17,7 @@
import org.springframework.dao.OptimisticLockingFailureException;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations;
+import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.Map;
@@ -35,6 +36,7 @@ public PartyHatRepositoryImpl(NamedParameterJdbcOperations template) {
this.template = template;
}
+ @Transactional
@Override
public void addPartyHat(Minion minion) {
diff --git a/jdbc/howto/selectiveupdate/src/main/java/example.springdata/jdbc/howto/selectiveupdate/SelectiveUpdateApplication.java b/jdbc/howto/selectiveupdate/src/main/java/example.springdata/jdbc/howto/selectiveupdate/SelectiveUpdateApplication.java
index 9e1b01dd8..d1e005f01 100644
--- a/jdbc/howto/selectiveupdate/src/main/java/example.springdata/jdbc/howto/selectiveupdate/SelectiveUpdateApplication.java
+++ b/jdbc/howto/selectiveupdate/src/main/java/example.springdata/jdbc/howto/selectiveupdate/SelectiveUpdateApplication.java
@@ -17,7 +17,6 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.cache.annotation.EnableCaching;
@SpringBootApplication
class SelectiveUpdateApplication {
diff --git a/jdbc/howto/selectiveupdate/src/test/java/example/springdata/jdbc/howto/selectiveupdate/SelectiveUpdateApplicationTests.java b/jdbc/howto/selectiveupdate/src/test/java/example/springdata/jdbc/howto/selectiveupdate/SelectiveUpdateApplicationTests.java
index 5d6943496..6097e0bf9 100644
--- a/jdbc/howto/selectiveupdate/src/test/java/example/springdata/jdbc/howto/selectiveupdate/SelectiveUpdateApplicationTests.java
+++ b/jdbc/howto/selectiveupdate/src/test/java/example/springdata/jdbc/howto/selectiveupdate/SelectiveUpdateApplicationTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2022 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -18,14 +18,17 @@
import static org.assertj.core.api.Assertions.*;
import org.junit.jupiter.api.Test;
+
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.data.jdbc.test.autoconfigure.DataJdbcTest;
import org.springframework.dao.OptimisticLockingFailureException;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
/**
* Tests demonstrating various was for partial updates of an aggregate.
*/
-@SpringBootTest
+@DataJdbcTest
class SelectiveUpdateApplicationTests {
@Autowired MinionRepository minions;
@@ -58,7 +61,7 @@ void turnPurpleByDirectUpdate() {
Minion bob2 = minions.findById(bob.id).orElseThrow();
- assertThat(bob2.toys).containsExactly(bob.toys.toArray(new Toy[] {}));
+ assertThat(bob2.toys).containsExactlyElementsOf(bob.toys);
assertThat(bob2.name).isEqualTo("Bob");
assertThat(bob2.color).isEqualTo(Color.PURPLE);
}
@@ -81,4 +84,24 @@ void grantPartyHat() {
assertThatExceptionOfType(OptimisticLockingFailureException.class).isThrownBy(() -> minions.addPartyHat(bob));
}
+ @Test
+ @Transactional(propagation = Propagation.NOT_SUPPORTED)
+ void cannotGrantPartyHatWhenOutOfSync() {
+
+ Minion bob = new Minion("Bob").addToy(new Toy("Tiger Duck")).addToy(new Toy("Security blanket"));
+ minions.save(bob);
+ minions.turnPurple(bob.id);
+
+ assertThat(bob.color).isEqualTo(Color.YELLOW);
+ assertThat(bob.version).isOne();
+ assertThatExceptionOfType(OptimisticLockingFailureException.class).isThrownBy(() -> minions.addPartyHat(bob));
+
+ Minion bob2 = minions.findById(bob.id).orElseThrow();
+
+ assertThat(bob2.name).isEqualTo("Bob");
+ assertThat(bob2.color).isEqualTo(Color.PURPLE);
+ assertThat(bob2.version).isEqualTo(bob.version + 1);
+ assertThat(bob2.toys).extracting("name").containsExactlyInAnyOrder("Tiger Duck", "Security blanket");
+ }
+
}
diff --git a/jdbc/immutables/pom.xml b/jdbc/immutables/pom.xml
index 8527b31dc..621e3caf0 100644
--- a/jdbc/immutables/pom.xml
+++ b/jdbc/immutables/pom.xml
@@ -8,21 +8,43 @@
org.springframework.data.examplesspring-data-jdbc-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xmlSpring Data JDBC - Usage with ImmutablesSample project demonstrating Spring Data JDBC features
+
+ 2.8.8
+
+
org.immutablesvalue
- 2.8.8
+ ${immutables.version}provided
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+ org.immutables
+ value
+ ${immutables.version}
+
+
+
+
+
+
+
diff --git a/jdbc/immutables/src/main/java/example/springdata/jdbc/immutables/Application.java b/jdbc/immutables/src/main/java/example/springdata/jdbc/immutables/Application.java
index 553b545f4..47f456eb5 100644
--- a/jdbc/immutables/src/main/java/example/springdata/jdbc/immutables/Application.java
+++ b/jdbc/immutables/src/main/java/example/springdata/jdbc/immutables/Application.java
@@ -15,25 +15,21 @@
*/
package example.springdata.jdbc.immutables;
-import java.sql.ResultSet;
-
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
import org.springframework.core.io.ResourceLoader;
-import org.springframework.data.jdbc.core.convert.BasicJdbcConverter;
import org.springframework.data.jdbc.core.convert.DefaultJdbcTypeFactory;
-import org.springframework.data.jdbc.core.convert.Identifier;
import org.springframework.data.jdbc.core.convert.JdbcConverter;
import org.springframework.data.jdbc.core.convert.JdbcCustomConversions;
+import org.springframework.data.jdbc.core.convert.MappingJdbcConverter;
import org.springframework.data.jdbc.core.convert.RelationResolver;
import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
import org.springframework.data.jdbc.repository.config.AbstractJdbcConfiguration;
-import org.springframework.data.mapping.PersistentPropertyPath;
-import org.springframework.data.mapping.context.MappingContext;
+import org.springframework.data.relational.core.conversion.RowDocumentAccessor;
import org.springframework.data.relational.core.dialect.Dialect;
-import org.springframework.data.relational.core.mapping.PersistentPropertyPathExtension;
import org.springframework.data.relational.core.mapping.RelationalPersistentEntity;
-import org.springframework.data.relational.core.mapping.RelationalPersistentProperty;
+import org.springframework.data.util.TypeInformation;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations;
import org.springframework.util.ClassUtils;
@@ -73,31 +69,21 @@ public ImmutablesJdbcConfiguration(ResourceLoader resourceLoader) {
*/
@Override
public JdbcConverter jdbcConverter(JdbcMappingContext mappingContext, NamedParameterJdbcOperations operations,
- RelationResolver relationResolver, JdbcCustomConversions conversions, Dialect dialect) {
+ @Lazy RelationResolver relationResolver, JdbcCustomConversions conversions, Dialect dialect) {
var jdbcTypeFactory = new DefaultJdbcTypeFactory(operations.getJdbcOperations());
- return new BasicJdbcConverter(mappingContext, relationResolver, conversions, jdbcTypeFactory,
- dialect.getIdentifierProcessing()) {
-
- @Override
- public T mapRow(RelationalPersistentEntity entity, ResultSet resultSet, Object key) {
-
- // rows will not mapped to the entity interface, but to its implementation generated by Immutable
- RelationalPersistentEntity implementationEntity = getImplementationEntity(mappingContext, entity);
- return super.mapRow(implementationEntity, resultSet, key);
- }
+ return new MappingJdbcConverter(mappingContext, relationResolver, conversions, jdbcTypeFactory) {
@Override
- public T mapRow(PersistentPropertyPathExtension path, ResultSet resultSet, Identifier identifier,
- Object key) {
+ @SuppressWarnings("all")
+ protected S readAggregate(ConversionContext context, RowDocumentAccessor documentAccessor,
+ TypeInformation extends S> typeHint) {
- // rows will not mapped to the entity interface, but to its implementation generated by Immutable
RelationalPersistentEntity> implementationEntity = getImplementationEntity(mappingContext,
- path.getLeafEntity());
- var propertyPath = new DelegatePersistentPropertyPathExtension(mappingContext,
- path.getRequiredPersistentPropertyPath(), implementationEntity);
- return super.mapRow(propertyPath, resultSet, identifier, key);
+ mappingContext.getRequiredPersistentEntity(typeHint));
+
+ return (S) super.readAggregate(context, documentAccessor, implementationEntity.getTypeInformation());
}
};
}
@@ -125,26 +111,4 @@ private RelationalPersistentEntity getImplementationEntity(JdbcMappingCon
}
}
- /**
- * Redirect {@link #getLeafEntity()} to a different entity type.
- */
- static class DelegatePersistentPropertyPathExtension extends PersistentPropertyPathExtension {
-
- private final RelationalPersistentEntity> leafEntity;
-
- public DelegatePersistentPropertyPathExtension(
- MappingContext extends RelationalPersistentEntity>, ? extends RelationalPersistentProperty> context,
- PersistentPropertyPath extends RelationalPersistentProperty> path, RelationalPersistentEntity> leafEntity) {
-
- super(context, path);
-
- this.leafEntity = leafEntity;
- }
-
- @Override
- public RelationalPersistentEntity> getLeafEntity() {
- return leafEntity;
- }
- }
-
}
diff --git a/jdbc/immutables/src/test/java/example/springdata/jdbc/immutables/ImmutablesTests.java b/jdbc/immutables/src/test/java/example/springdata/jdbc/immutables/ImmutablesTests.java
index be11962cb..7e488a590 100644
--- a/jdbc/immutables/src/test/java/example/springdata/jdbc/immutables/ImmutablesTests.java
+++ b/jdbc/immutables/src/test/java/example/springdata/jdbc/immutables/ImmutablesTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,7 +20,7 @@
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.jdbc.DataJdbcTest;
+import org.springframework.boot.data.jdbc.test.autoconfigure.DataJdbcTest;
/**
* Integration tests using immutable types assisted by Immutables. Calling code can use the actual immutable
diff --git a/jdbc/jmolecules/pom.xml b/jdbc/jmolecules/pom.xml
index 103732379..da1a75de4 100644
--- a/jdbc/jmolecules/pom.xml
+++ b/jdbc/jmolecules/pom.xml
@@ -6,16 +6,23 @@
org.springframework.data.examplesspring-data-jdbc-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTSpring Data JDBC - jMolecules Examplespring-data-jdbc-jmolecules
-
- 1.3.0
- 0.5.0
-
+
+
+
+ org.jmolecules
+ jmolecules-bom
+ 2023.0.0
+ pom
+ import
+
+
+
@@ -30,13 +37,17 @@
org.jmolecules.integrationsjmolecules-spring
- ${jmolecules-integration.version}org.jmoleculesjmolecules-events
- ${jmolecules.version}
+
+
+
+ org.jmolecules.integrations
+ jmolecules-bytebuddy-nodep
+ provided
@@ -50,17 +61,13 @@
- transform
+ transform-extended
-
-
- org.jmolecules.integrations
- jmolecules-bytebuddy
- ${jmolecules-integration.version}
-
-
+
+ true
+
diff --git a/jdbc/jmolecules/src/main/java/example/springdata/jdbc/jmolecules/customer/Customer.java b/jdbc/jmolecules/src/main/java/example/springdata/jdbc/jmolecules/customer/Customer.java
index 98dafb057..27d1a44fa 100644
--- a/jdbc/jmolecules/src/main/java/example/springdata/jdbc/jmolecules/customer/Customer.java
+++ b/jdbc/jmolecules/src/main/java/example/springdata/jdbc/jmolecules/customer/Customer.java
@@ -28,7 +28,7 @@
import org.jmolecules.ddd.types.AggregateRoot;
import org.jmolecules.ddd.types.Identifier;
-import org.springframework.data.annotation.PersistenceConstructor;
+import org.springframework.data.annotation.PersistenceCreator;
import org.springframework.util.Assert;
/**
@@ -36,7 +36,7 @@
*/
@Getter
@ToString
-@AllArgsConstructor(access = AccessLevel.PRIVATE, onConstructor = @__(@PersistenceConstructor))
+@AllArgsConstructor(access = AccessLevel.PRIVATE, onConstructor = @__(@PersistenceCreator))
public class Customer implements AggregateRoot {
private final CustomerId id;
diff --git a/jdbc/jooq/pom.xml b/jdbc/jooq/pom.xml
index 4683a11b2..6dbe76659 100644
--- a/jdbc/jooq/pom.xml
+++ b/jdbc/jooq/pom.xml
@@ -7,13 +7,17 @@
org.springframework.data.examplesspring-data-jdbc-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xmlSpring Data JDBC - Usage with jOOQSample project demonstrating Spring Data JDBC features
+
+ 3.19.26
+
+
org.jooq
diff --git a/jdbc/jooq/src/main/resources/schema.sql b/jdbc/jooq/src/main/resources/schema.sql
index 600c536af..c377b0366 100644
--- a/jdbc/jooq/src/main/resources/schema.sql
+++ b/jdbc/jooq/src/main/resources/schema.sql
@@ -1,6 +1,14 @@
CREATE TABLE IF NOT EXISTS category (
- id INTEGER IDENTITY PRIMARY KEY,
- name VARCHAR(100),
+ id
+ INTEGER
+ AUTO_INCREMENT
+ PRIMARY
+ KEY,
+ name
+ VARCHAR
+(
+ 100
+),
description VARCHAR(2000),
age_group VARCHAR(20)
);
diff --git a/jdbc/jooq/src/test/java/example/springdata/jdbc/jooq/SimpleEntityTests.java b/jdbc/jooq/src/test/java/example/springdata/jdbc/jooq/SimpleEntityTests.java
index a1cc5fb90..83b29c868 100644
--- a/jdbc/jooq/src/test/java/example/springdata/jdbc/jooq/SimpleEntityTests.java
+++ b/jdbc/jooq/src/test/java/example/springdata/jdbc/jooq/SimpleEntityTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2017-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -18,12 +18,10 @@
import static java.util.Arrays.*;
import static org.assertj.core.api.Assertions.*;
-import java.util.List;
-
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureJdbc;
+import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureJdbc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.ComponentScan;
@@ -32,7 +30,7 @@
*
* @author Jens Schauder
* @author Florian Lüdiger
- * @author Divya Srivastava
+ * @author Divya Srivastava
*/
@SpringBootTest(classes = CategoryConfiguration.class)
@AutoConfigureJdbc
diff --git a/jdbc/mybatis/README.adoc b/jdbc/mybatis/README.adoc
index 131224d13..d6d5b1ce7 100644
--- a/jdbc/mybatis/README.adoc
+++ b/jdbc/mybatis/README.adoc
@@ -7,4 +7,4 @@ The map of models is maintained by two statements configured in MyBatis mappings
`example.springdata.jdbc.mybatis.LegoSetMapper.findAllByProperty-models` showcases how a map can be loaded by configuring the select to return instances of `Map.Entry`
-`example.springdata.jdbc.mybatis.Model.insert` showcases how one can access the `MyBatixContext` and thereby the instance to save and the key of the parent entity.
+`example.springdata.jdbc.mybatis.Model.insert` showcases how one can access the `MyBatisContext` and thereby the instance to save and the key of the parent entity.
diff --git a/jdbc/mybatis/pom.xml b/jdbc/mybatis/pom.xml
index 0540f0e43..b693667c7 100644
--- a/jdbc/mybatis/pom.xml
+++ b/jdbc/mybatis/pom.xml
@@ -9,7 +9,7 @@
org.springframework.data.examplesspring-data-jdbc-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 8af21bc23..0cbbd7bb6 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -8,34 +8,45 @@
org.springframework.data.examplesspring-data-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTSpring Data JDBC - ExamplesSample projects for Spring Data JDBC
- https://projects.spring.io/spring-data-jdbc
+ https://spring.io/spring-data-jdbc2017
+ aot-optimizationbasics
+ composite-idshowtoimmutablesjmoleculesjooq
- mybatis
+ singlequeryloading
+
+ graalvm-native
- org.springframework.data
- spring-data-jdbc
+ org.springframework.boot
+ spring-boot-starter-data-jdbc
+
+
+
+ org.springframework.boot
+ spring-boot-data-jdbc-test
+ testorg.hsqldbhsqldb
+
diff --git a/jdbc/singlequeryloading/pom.xml b/jdbc/singlequeryloading/pom.xml
new file mode 100644
index 000000000..4894196ef
--- /dev/null
+++ b/jdbc/singlequeryloading/pom.xml
@@ -0,0 +1,32 @@
+
+ 4.0.0
+
+ singlequeryloading
+
+
+ org.springframework.data.examples
+ spring-data-jdbc-examples
+ 4.0.0-SNAPSHOT
+ ../pom.xml
+
+
+ Spring Data JDBC - Demonstration of Single Query Loading
+ Sample project demonstrating Single Query Loading with Spring Data JDBC
+
+
+
+
+
+ org.testcontainers
+ testcontainers-postgresql
+
+
+
+ org.postgresql
+ postgresql
+
+
+
+
diff --git a/jdbc/singlequeryloading/src/main/java/example/springdata/jdbc/singlequeryloading/Cat.java b/jdbc/singlequeryloading/src/main/java/example/springdata/jdbc/singlequeryloading/Cat.java
new file mode 100644
index 000000000..48e3e1f23
--- /dev/null
+++ b/jdbc/singlequeryloading/src/main/java/example/springdata/jdbc/singlequeryloading/Cat.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2023 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jdbc.singlequeryloading;
+
+/**
+ * A simple entity for use in a collection of {@link PetOwner}.
+ *
+ * @author Jens Schauder
+ */
+record Cat(String name) {
+}
diff --git a/jdbc/singlequeryloading/src/main/java/example/springdata/jdbc/singlequeryloading/Config.java b/jdbc/singlequeryloading/src/main/java/example/springdata/jdbc/singlequeryloading/Config.java
new file mode 100644
index 000000000..b23133d84
--- /dev/null
+++ b/jdbc/singlequeryloading/src/main/java/example/springdata/jdbc/singlequeryloading/Config.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2023 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jdbc.singlequeryloading;
+
+import java.util.Optional;
+
+import org.springframework.boot.SpringBootConfiguration;
+import org.springframework.data.jdbc.core.convert.JdbcCustomConversions;
+import org.springframework.data.jdbc.core.mapping.JdbcMappingContext;
+import org.springframework.data.jdbc.repository.config.AbstractJdbcConfiguration;
+import org.springframework.data.jdbc.repository.config.EnableJdbcRepositories;
+import org.springframework.data.relational.RelationalManagedTypes;
+import org.springframework.data.relational.core.mapping.NamingStrategy;
+
+/**
+ * Spring application context configuration that enables Single Query Loading.
+ *
+ * @author Jens Schauder
+ */
+@SpringBootConfiguration
+@EnableJdbcRepositories
+public class Config extends AbstractJdbcConfiguration {
+
+ @Override
+ public JdbcMappingContext jdbcMappingContext(Optional namingStrategy,
+ JdbcCustomConversions customConversions, RelationalManagedTypes jdbcManagedTypes) {
+
+ JdbcMappingContext jdbcMappingContext = super.jdbcMappingContext(namingStrategy, customConversions,
+ jdbcManagedTypes);
+ jdbcMappingContext.setSingleQueryLoadingEnabled(true);
+ return jdbcMappingContext;
+ }
+}
diff --git a/jdbc/singlequeryloading/src/main/java/example/springdata/jdbc/singlequeryloading/Dog.java b/jdbc/singlequeryloading/src/main/java/example/springdata/jdbc/singlequeryloading/Dog.java
new file mode 100644
index 000000000..450efe97e
--- /dev/null
+++ b/jdbc/singlequeryloading/src/main/java/example/springdata/jdbc/singlequeryloading/Dog.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2023 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jdbc.singlequeryloading;
+
+/**
+ * A simple entity for use in a collection of {@link PetOwner}.
+ *
+ * @author Jens Schauder
+ */
+record Dog(String name) {
+}
\ No newline at end of file
diff --git a/jdbc/singlequeryloading/src/main/java/example/springdata/jdbc/singlequeryloading/Fish.java b/jdbc/singlequeryloading/src/main/java/example/springdata/jdbc/singlequeryloading/Fish.java
new file mode 100644
index 000000000..a2f41f651
--- /dev/null
+++ b/jdbc/singlequeryloading/src/main/java/example/springdata/jdbc/singlequeryloading/Fish.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2023 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jdbc.singlequeryloading;
+
+/**
+ * A simple entity for use in a collection of {@link PetOwner}.
+ *
+ * @author Jens Schauder
+ */
+record Fish(String name) {
+}
diff --git a/jdbc/singlequeryloading/src/main/java/example/springdata/jdbc/singlequeryloading/PetOwner.java b/jdbc/singlequeryloading/src/main/java/example/springdata/jdbc/singlequeryloading/PetOwner.java
new file mode 100644
index 000000000..bad882cc0
--- /dev/null
+++ b/jdbc/singlequeryloading/src/main/java/example/springdata/jdbc/singlequeryloading/PetOwner.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2023 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jdbc.singlequeryloading;
+
+import java.util.List;
+import java.util.Objects;
+
+import org.springframework.data.annotation.Id;
+
+/**
+ * An aggregate with mutliple collections.
+ *
+ * @author Jens Schauder
+ */
+class PetOwner {
+
+ @Id Long Id;
+
+ String name;
+
+ List dogs;
+
+ List cats;
+
+ List fish;
+
+ public PetOwner(String name, List cats, List dogs, List fish) {
+
+ this.name = name;
+ this.cats = cats;
+ this.dogs = dogs;
+ this.fish = fish;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+ if (o == null || getClass() != o.getClass())
+ return false;
+ PetOwner petOwner = (PetOwner) o;
+ return Objects.equals(Id, petOwner.Id) && Objects.equals(name, petOwner.name) && Objects.equals(dogs, petOwner.dogs)
+ && Objects.equals(cats, petOwner.cats) && Objects.equals(fish, petOwner.fish);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(Id, name, dogs, cats, fish);
+ }
+}
diff --git a/jdbc/singlequeryloading/src/main/java/example/springdata/jdbc/singlequeryloading/PetOwnerRepository.java b/jdbc/singlequeryloading/src/main/java/example/springdata/jdbc/singlequeryloading/PetOwnerRepository.java
new file mode 100644
index 000000000..00f2084f4
--- /dev/null
+++ b/jdbc/singlequeryloading/src/main/java/example/springdata/jdbc/singlequeryloading/PetOwnerRepository.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2023 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jdbc.singlequeryloading;
+
+import org.springframework.data.repository.CrudRepository;
+
+/**
+ * Repository to access {@link PetOwner} instances.
+ *
+ * @author Jens Schauder
+ */
+interface PetOwnerRepository extends CrudRepository {}
diff --git a/jdbc/singlequeryloading/src/main/resources/application.properties b/jdbc/singlequeryloading/src/main/resources/application.properties
new file mode 100644
index 000000000..d467e12d4
--- /dev/null
+++ b/jdbc/singlequeryloading/src/main/resources/application.properties
@@ -0,0 +1,3 @@
+spring.datasource.url=jdbc:tc:postgresql:16.0:///test
+logging.level.org.springframework.jdbc.core.JdbcTemplate=DEBUG
+spring.sql.init.mode=always
\ No newline at end of file
diff --git a/jdbc/singlequeryloading/src/main/resources/schema.sql b/jdbc/singlequeryloading/src/main/resources/schema.sql
new file mode 100644
index 000000000..b398d1147
--- /dev/null
+++ b/jdbc/singlequeryloading/src/main/resources/schema.sql
@@ -0,0 +1,27 @@
+CREATE TABLE PET_OWNER
+(
+ ID SERIAL PRIMARY KEY,
+ NAME VARCHAR(255)
+);
+
+CREATE TABLE CAT
+(
+ PET_OWNER INT,
+ PET_OWNER_KEY INT,
+ NAME VARCHAR(255)
+);
+
+CREATE TABLE DOG
+(
+ PET_OWNER INT,
+ PET_OWNER_KEY INT,
+ NAME VARCHAR(255)
+);
+
+CREATE TABLE FISH
+(
+ PET_OWNER INT,
+ PET_OWNER_KEY INT,
+ NAME VARCHAR(255)
+);
+
diff --git a/jdbc/singlequeryloading/src/test/java/example/springdata/jdbc/singlequeryloading/SingleQueryLoadingApplicationTests.java b/jdbc/singlequeryloading/src/test/java/example/springdata/jdbc/singlequeryloading/SingleQueryLoadingApplicationTests.java
new file mode 100644
index 000000000..0674b177c
--- /dev/null
+++ b/jdbc/singlequeryloading/src/test/java/example/springdata/jdbc/singlequeryloading/SingleQueryLoadingApplicationTests.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jdbc.singlequeryloading;
+
+import static org.assertj.core.api.Assertions.*;
+import static org.springframework.data.relational.core.query.Criteria.*;
+import static org.springframework.data.relational.core.query.Query.*;
+
+import java.util.List;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase;
+import org.springframework.boot.jdbc.test.autoconfigure.JdbcTest;
+import org.springframework.data.jdbc.core.JdbcAggregateTemplate;
+
+/**
+ * Run tests demonstrating the use of Single Query Loading. You'll have to observe the executed queries.
+ *
+ * @author Jens Schauder
+ */
+@JdbcTest
+@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
+class SingleQueryLoadingApplicationTests {
+
+ @Autowired PetOwnerRepository petOwners;
+ @Autowired JdbcAggregateTemplate template;
+
+ private PetOwner emil;
+ private PetOwner marry;
+
+ @BeforeEach
+ void setup() {
+
+ petOwners.deleteAll();
+
+ emil = petOwners.save(new PetOwner("Emil", //
+ List.of(new Cat("Edgar"), new Cat("Einstein"), new Cat("Elliot"), new Cat("Elton"), new Cat("Evan")), //
+ List.of(new Dog("Eric"), new Dog("Eddie"), new Dog("Eke"), new Dog("Echo")), //
+ List.of(new Fish("Floaty Mc Floatface")) //
+ ));
+
+ marry = petOwners.save(new PetOwner("Marry", List.of(new Cat("Mars"), new Cat("Maverick"), new Cat("Max")), //
+ List.of(new Dog("Molly"), new Dog("Murphy"), new Dog("Madison"), new Dog("Macie")), //
+ List.of(new Fish("Mahi Mahi"), new Fish("Mr. Limpet")) //
+ ));
+ }
+
+ @Test
+ void loadById() {
+
+ PetOwner emilReloaded = petOwners.findById(emil.Id).orElseThrow();
+
+ assertThat(emilReloaded).isEqualTo(emil);
+ }
+
+ @Test
+ void loadByNameUsingTemplate() {
+
+ List marries = (List) template.findAll(query(where("name").is("Marry")), PetOwner.class);
+
+ assertThat(marries).containsExactly(marry);
+ }
+
+}
diff --git a/jpa/aot-optimization/README.adoc b/jpa/aot-optimization/README.adoc
new file mode 100644
index 000000000..09f2c2853
--- /dev/null
+++ b/jpa/aot-optimization/README.adoc
@@ -0,0 +1,89 @@
+= Spring Data JPA - Ahead of Time Repository Optimization Example
+
+The project shows the usage of AOT Repositories.
+Ahead of Time Repositories implement query methods through code contribution and allow for debugging queries during runtime.
+Additionally, AOT repositories improve startup time and reduce memory consumption because AOT optimized query methods do not require reflective introspection.
+Each AOT repository is documented with a JSON file that describes the queries implemented by the repository.
+
+== Using AOT Repositories
+
+Repository AOT processing is enabled by default when using Spring Boot's AOT processing (see `pom.xml` for `spring-boot-maven-plugin` usage).
+AOT processing generates AOT artifacts to `target/spring-aot` and through the regular build.
+When using the JVM mode (not Graal Native Images), then you need to enable AOT mode on the JVM when running your application through `-Dspring.aot.enabled=true`.
+
+[source,bash]
+----
+$ mvn clean package
+$ java -Dspring.aot.enabled=true -jar target/spring-data-jpa-aot-optimization-4.0.0-SNAPSHOT.jar
+----
+
+You can find more details about AOT processing in the https://docs.spring.io/spring-data/jpa/reference/4.0/jpa/aot.html#aot.repositories[Spring Data JPA Reference Documentation].
+
+== AOT Repository
+
+**`UserRepositoryImpl__AotRepository`**
+
+Excerpt from: `target/spring-aot/main/sources/example/springdata/aot/UserRepositoryImpl__AotRepository.java`
+
+[source,java]
+----
+@Generated
+public class UserRepositoryImpl__AotRepository extends AotRepositoryFragmentSupport {
+ private final RepositoryFactoryBeanSupport.FragmentCreationContext context;
+
+ private final EntityManager entityManager;
+
+ public UserRepositoryImpl__AotRepository(EntityManager entityManager,
+ RepositoryFactoryBeanSupport.FragmentCreationContext context) {
+ // …
+ }
+
+ public Long countUsersByLastnameLike(String lastname) {
+ String queryString = "SELECT COUNT(u) FROM users u WHERE u.lastname LIKE :lastname ESCAPE '\\'";
+ Query query = this.entityManager.createQuery(queryString);
+ query.setParameter("lastname", lastname);
+
+ return (Long) convertOne(query.getSingleResultOrNull(), false, Long.class);
+ }
+}
+----
+
+== Metadata
+
+**`UserRepository.json`**
+
+Excerpt from: `target/spring-aot/main/resources/example/springdata/aot/UserRepository.json`
+
+[source,json]
+----
+{
+ "name": "example.springdata.aot.UserRepository",
+ "module": "JPA",
+ "type": "IMPERATIVE",
+ "methods": [
+ {
+ "name": "countUsersByLastnameLike",
+ "signature": "public abstract java.lang.Long example.springdata.aot.UserRepository.countUsersByLastnameLike(java.lang.String)",
+ "query": {
+ "query": "SELECT COUNT(u) FROM users u WHERE u.lastname LIKE :lastname ESCAPE '\\'"
+ }
+ },
+ {
+ "name": "count",
+ "signature": "org.springframework.data.jpa.repository.support.QuerydslJpaPredicateExecutor",
+ "fragment": {
+ "interface": "org.springframework.data.jpa.repository.support.QuerydslJpaPredicateExecutor",
+ "fragment": "org.springframework.data.jpa.repository.support.QuerydslJpaPredicateExecutor"
+ }
+ },
+ {
+ "name": "save",
+ "signature": "org.springframework.data.jpa.repository.support.SimpleJpaRepository",
+ "fragment": {
+ "interface": "org.springframework.data.jpa.repository.support.SimpleJpaRepository",
+ "fragment": "org.springframework.data.jpa.repository.support.SimpleJpaRepository"
+ }
+ }
+ ]
+}
+----
diff --git a/jpa/aot-optimization/pom.xml b/jpa/aot-optimization/pom.xml
new file mode 100644
index 000000000..e61303cf8
--- /dev/null
+++ b/jpa/aot-optimization/pom.xml
@@ -0,0 +1,84 @@
+
+
+ 4.0.0
+
+
+ org.springframework.data.examples
+ spring-data-jpa-examples
+ 4.0.0-SNAPSHOT
+
+
+ spring-data-jpa-aot-optimization
+ Spring Data JPA - AOT Optimization Example
+
+
+
+
+ com.querydsl
+ querydsl-jpa
+ ${querydsl.version}
+ jakarta
+
+
+
+ com.querydsl
+ querydsl-apt
+ ${querydsl.version}
+ jakarta
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+ com.querydsl
+ querydsl-jpa
+ ${querydsl.version}
+ jakarta
+
+
+ com.querydsl
+ querydsl-apt
+ ${querydsl.version}
+ jakarta
+
+
+ jakarta.persistence
+ jakarta.persistence-api
+
+
+
+
+ target/generated-test-sources
+
+ target/generated-sources
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ process-aot
+
+ process-aot
+
+
+
+
+
+
+
+
+
diff --git a/jpa/aot-optimization/src/main/java/example/springdata/aot/AotJpaApp.java b/jpa/aot-optimization/src/main/java/example/springdata/aot/AotJpaApp.java
new file mode 100644
index 000000000..66235ab8c
--- /dev/null
+++ b/jpa/aot-optimization/src/main/java/example/springdata/aot/AotJpaApp.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.aot;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ * @author Christoph Strobl
+ */
+@SpringBootApplication
+public class AotJpaApp {
+
+ public static void main(String[] args) {
+ SpringApplication.run(AotJpaApp.class, args);
+ }
+
+}
diff --git a/jpa/aot-optimization/src/main/java/example/springdata/aot/CLR.java b/jpa/aot-optimization/src/main/java/example/springdata/aot/CLR.java
new file mode 100644
index 000000000..8272939a9
--- /dev/null
+++ b/jpa/aot-optimization/src/main/java/example/springdata/aot/CLR.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.aot;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Slice;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author Christoph Strobl
+ * @since 2025/01
+ */
+@Component
+public class CLR implements CommandLineRunner {
+
+ @Autowired UserRepository repository;
+
+ @Override
+ public void run(String... args) throws Exception {
+
+ User luke = new User("id-1", "luke");
+ luke.setFirstname("Luke");
+ luke.setLastname("Skywalker");
+ // Post lukeP1 = new Post("I have a bad feeling about this.");
+ // em.persist(lukeP1);
+ // luke.setPosts(List.of(lukeP1));
+
+ User leia = new User("id-2", "leia");
+ leia.setFirstname("Leia");
+ leia.setLastname("Organa");
+
+ User han = new User("id-3", "han");
+ han.setFirstname("Han");
+ han.setLastname("Solo");
+ // Post hanP1 = new Post("It's the ship that made the Kessel Run in less than 12 Parsecs.");
+ // em.persist(hanP1);
+ // han.setPosts(List.of(hanP1));
+
+ User chewbacca = new User("id-4", "chewbacca");
+ User yoda = new User("id-5", "yoda");
+ Post yodaP1 = new Post("Do. Or do not. There is no try.");
+ Post yodaP2 = new Post(
+ "Decide you must, how to serve them best. If you leave now, help them you could; but you would destroy all for which they have fought, and suffered.");
+ // em.persist(yodaP1);
+ // em.persist(yodaP2);
+ // yoda.setPosts(List.of(yodaP1, yodaP2));
+
+ User vader = new User("id-6", "vader");
+ vader.setFirstname("Anakin");
+ vader.setLastname("Skywalker");
+ // Post vaderP1 = new Post("I am your father");
+ // em.persist(vaderP1);
+ // vader.setPosts(List.of(vaderP1));
+
+ User kylo = new User("id-7", "kylo");
+ kylo.setFirstname("Ben");
+ kylo.setLastname("Solo");
+
+ repository.saveAll(List.of(luke, leia, han, chewbacca, yoda, vader, kylo));
+
+ System.out.println("------- annotated multi -------");
+ System.out.println(repository.usersWithUsernamesStartingWith("l"));
+
+ System.out.println("------- derived single -------");
+ System.out.println(repository.findUserByUsername("yoda"));
+
+ // System.out.println("------- derived nested.path -------");
+ // System.out.println(repository.findUserByPostsMessageLike("father"));
+
+ System.out.println("------- derived optional -------");
+ System.out.println(repository.findOptionalUserByUsername("yoda"));
+
+ System.out.println("------- derived count -------");
+ Long count = repository.countUsersByLastnameLike("Sky");
+ System.out.println("user count " + count);
+
+ System.out.println("------- derived exists -------");
+ Boolean exists = repository.existsByUsername("vader");
+ System.out.println("user exists " + exists);
+
+ System.out.println("------- derived multi -------");
+ System.out.println(repository.findUserByLastnameStartingWith("Sky"));
+
+ System.out.println("------- derived sorted -------");
+ System.out.println(repository.findUserByLastnameStartingWithOrderByFirstname("Sky"));
+
+ System.out.println("------- derived page -------");
+ Page page0 = repository.findUserByLastnameStartingWith("S", PageRequest.of(0, 2));
+ System.out.println("page0: " + page0);
+ System.out.println("page0.content: " + page0.getContent());
+
+ Page page1 = repository.findUserByLastnameStartingWith("S", PageRequest.of(1, 2));
+ System.out.println("page1: " + page1);
+ System.out.println("page1.content: " + page1.getContent());
+
+ System.out.println("------- derived slice -------");
+ Slice slice0 = repository.findUserByUsernameAfter("luke", PageRequest.of(0, 2));
+ System.out.println("slice0: " + slice0);
+ System.out.println("slice0.content: " + slice0.getContent());
+
+ System.out.println("------- derived top -------");
+ System.out.println(repository.findTop2UsersByLastnameStartingWith("S"));
+
+ // System.out.println("------- derived with fields -------");
+ // System.out.println(repository.findJustUsernameBy());
+ }
+}
diff --git a/jpa/aot-optimization/src/main/java/example/springdata/aot/Post.java b/jpa/aot-optimization/src/main/java/example/springdata/aot/Post.java
new file mode 100644
index 000000000..6c6e3e82d
--- /dev/null
+++ b/jpa/aot-optimization/src/main/java/example/springdata/aot/Post.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.aot;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+
+import java.time.Instant;
+import java.time.temporal.ChronoUnit;
+import java.util.Random;
+
+/**
+ * @author Christoph Strobl
+ * @since 2025/01
+ */
+@Entity
+public class Post {
+
+ @Id
+ @GeneratedValue private Long id;
+
+ private String message;
+ private Instant date;
+
+ public Post() {}
+
+ public Post(String message) {
+ this.message = message;
+ this.date = Instant.now().minus(new Random().nextLong(100), ChronoUnit.MINUTES);
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public Instant getDate() {
+ return date;
+ }
+
+ public void setDate(Instant date) {
+ this.date = date;
+ }
+
+ @Override
+ public String toString() {
+ return message;
+ }
+}
diff --git a/jpa/aot-optimization/src/main/java/example/springdata/aot/User.java b/jpa/aot-optimization/src/main/java/example/springdata/aot/User.java
new file mode 100644
index 000000000..b9c43ff05
--- /dev/null
+++ b/jpa/aot-optimization/src/main/java/example/springdata/aot/User.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.aot;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+
+import java.time.Instant;
+
+/**
+ * @author Christoph Strobl
+ * @since 2025/01
+ */
+@Entity(name = "users")
+public class User {
+
+ @Id private String id;
+ private String username;
+
+ @Column(name = "first_name") String firstname;
+ @Column(name = "last_name") String lastname;
+
+ // @OneToMany
+ // private List posts;
+
+ Instant registrationDate;
+ Instant lastSeen;
+
+ public User() {}
+
+ public User(String id, String username) {
+ this.id = id;
+ this.username = username;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public String getFirstname() {
+ return firstname;
+ }
+
+ public void setFirstname(String firstname) {
+ this.firstname = firstname;
+ }
+
+ public String getLastname() {
+ return lastname;
+ }
+
+ public void setLastname(String lastname) {
+ this.lastname = lastname;
+ }
+
+ public Instant getRegistrationDate() {
+ return registrationDate;
+ }
+
+ public void setRegistrationDate(Instant registrationDate) {
+ this.registrationDate = registrationDate;
+ }
+
+ public Instant getLastSeen() {
+ return lastSeen;
+ }
+
+ public void setLastSeen(Instant lastSeen) {
+ this.lastSeen = lastSeen;
+ }
+
+ // public List getPosts() {
+ // return posts;
+ // }
+ //
+ // public void setPosts(List posts) {
+ // this.posts = posts;
+ // }
+
+ @Override
+ public String toString() {
+ return "User{" + "id='" + id + '\'' + ", username='" + username + '\'' + ", firstname='" + firstname + '\''
+ + ", lastname='" + lastname + '\'' + ", registrationDate=" + registrationDate + ", lastSeen=" + lastSeen +
+ // ", posts=" + posts +
+ '}';
+ }
+}
diff --git a/jpa/aot-optimization/src/main/java/example/springdata/aot/UserProjection.java b/jpa/aot-optimization/src/main/java/example/springdata/aot/UserProjection.java
new file mode 100644
index 000000000..8ac144a12
--- /dev/null
+++ b/jpa/aot-optimization/src/main/java/example/springdata/aot/UserProjection.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.aot;
+
+import java.time.Instant;
+
+/**
+ * @author Christoph Strobl
+ * @since 2025/01
+ */
+public record UserProjection(String username, Instant registrationDate) {
+
+}
diff --git a/jpa/aot-optimization/src/main/java/example/springdata/aot/UserRepository.java b/jpa/aot-optimization/src/main/java/example/springdata/aot/UserRepository.java
new file mode 100644
index 000000000..1da15b360
--- /dev/null
+++ b/jpa/aot-optimization/src/main/java/example/springdata/aot/UserRepository.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.aot;
+
+import java.util.List;
+import java.util.Optional;
+
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Slice;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.querydsl.QuerydslPredicateExecutor;
+import org.springframework.data.repository.CrudRepository;
+
+/**
+ * @author Christoph Strobl
+ * @since 2025/01
+ */
+public interface UserRepository extends CrudRepository, QuerydslPredicateExecutor {
+
+ User findUserByUsername(String username);
+
+ Optional findOptionalUserByUsername(String username);
+
+ Long countUsersByLastnameLike(String lastname);
+
+ Boolean existsByUsername(String username);
+
+ List findUserByLastnameLike(String lastname);
+
+ List findUserByLastnameStartingWithOrderByFirstname(String lastname);
+
+ List findTop2UsersByLastnameStartingWith(String lastname);
+
+ Slice findUserByUsernameAfter(String username, Pageable pageable);
+
+ List findUserByLastnameStartingWith(String lastname);
+
+ Page findUserByLastnameStartingWith(String lastname, Pageable page);
+
+ @Query("SELECT u FROM example.springdata.aot.User u WHERE u.username LIKE ?1%")
+ List usersWithUsernamesStartingWith(String username);
+
+}
diff --git a/jpa/aot-optimization/src/main/resources/application.properties b/jpa/aot-optimization/src/main/resources/application.properties
new file mode 100644
index 000000000..deac8da37
--- /dev/null
+++ b/jpa/aot-optimization/src/main/resources/application.properties
@@ -0,0 +1,4 @@
+spring.jpa.defer-datasource-initialization=true
+#spring.aot.jpa.repositories.use-entitymanager=true
+#logging.level.org.springframework.data.repository.aot.generate.RepositoryContributor=trace
+
diff --git a/jpa/deferred/README.adoc b/jpa/deferred/README.adoc
index d75f5a57b..192f34daa 100644
--- a/jpa/deferred/README.adoc
+++ b/jpa/deferred/README.adoc
@@ -31,7 +31,7 @@ The bootstrap log will look like follows:
[source,bash]
----
-2018-08-16 14:38:49.540 INFO 44538 --- [ main] example.Application : Starting Application v2.0.0.BUILD-SNAPSHOT on …
+2018-08-16 14:38:49.540 INFO 44538 --- [ main] example.Application : Starting Application v4.0.0-SNAPSHOT on …
2018-08-16 14:38:49.544 INFO 44538 --- [ main] example.Application : No active profile set, falling back to default profiles: default
2018-08-16 14:38:51.034 INFO 44538 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode.
2018-08-16 14:38:53.433 INFO 44538 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 2390ms. Found 2000 repository interfaces.
@@ -77,23 +77,23 @@ Repository initialization is eventually triggered on `ContextRefreshedEvent` to
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.0.BUILD-SNAPSHOT)
-2018-08-16 14:51:15.294 INFO 45068 --- [ main] example.Application : Starting Application v2.0.0.BUILD-SNAPSHOT on Serendipity-3.local with PID 45068 (/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-2.0.0.BUILD-SNAPSHOT.jar started by olivergierke in /Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred)
+2018-08-16 14:51:15.294 INFO 45068 --- [ main] example.Application : Starting Application v4.0.0-SNAPSHOT on Serendipity-3.local with PID 45068 (/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-4.0.0-SNAPSHOT.jar started by olivergierke in /Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred)
2018-08-16 14:51:15.294 INFO 45068 --- [ main] example.Application : The following profiles are active: deferred
2018-08-16 14:51:15.294 DEBUG 45068 --- [ main] o.s.boot.SpringApplication : Loading source class example.Application
2018-08-16 14:51:15.329 DEBUG 45068 --- [ main] o.s.b.c.c.ConfigFileApplicationListener : Activated activeProfiles deferred
-2018-08-16 14:51:15.329 DEBUG 45068 --- [ main] o.s.b.c.c.ConfigFileApplicationListener : Loaded config file 'jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-2.0.0.BUILD-SNAPSHOT.jar!/BOOT-INF/classes!/application.properties' (classpath:/application.properties)
+2018-08-16 14:51:15.329 DEBUG 45068 --- [ main] o.s.b.c.c.ConfigFileApplicationListener : Loaded config file 'jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-4.0.0-SNAPSHOT.jar!/BOOT-INF/classes!/application.properties' (classpath:/application.properties)
2018-08-16 14:51:15.330 DEBUG 45068 --- [ main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@71f2a7d5
2018-08-16 14:51:15.342 DEBUG 45068 --- [ main] o.s.b.f.s.DefaultListableBeanFactory : Creating shared instance of singleton bean 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor'
2018-08-16 14:51:15.354 DEBUG 45068 --- [ main] o.s.b.f.s.DefaultListableBeanFactory : Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.internalCachingMetadataReaderFactory'
-2018-08-16 14:51:15.596 DEBUG 45068 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-2.0.0.BUILD-SNAPSHOT.jar!/BOOT-INF/classes!/example/Application$LazyJpaConfiguration.class]
-2018-08-16 14:51:15.644 DEBUG 45068 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-2.0.0.BUILD-SNAPSHOT.jar!/BOOT-INF/classes!/example/service/Customer1803Service.class]
+2018-08-16 14:51:15.596 DEBUG 45068 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-4.0.0-SNAPSHOT.jar!/BOOT-INF/classes!/example/Application$LazyJpaConfiguration.class]
+2018-08-16 14:51:15.644 DEBUG 45068 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-4.0.0-SNAPSHOT.jar!/BOOT-INF/classes!/example/service/Customer1803Service.class]
… <1>
-2018-08-16 14:51:16.160 DEBUG 45068 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-2.0.0.BUILD-SNAPSHOT.jar!/BOOT-INF/classes!/example/service/Customer1830Service.class]
+2018-08-16 14:51:16.160 DEBUG 45068 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-4.0.0-SNAPSHOT.jar!/BOOT-INF/classes!/example/service/Customer1830Service.class]
2018-08-16 14:51:16.614 INFO 45068 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFERRED mode.
2018-08-16 14:51:16.636 DEBUG 45068 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Scanning for repositories in packages example.
-2018-08-16 14:51:16.764 DEBUG 45068 --- [ main] o.s.d.r.c.RepositoryComponentProvider : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-2.0.0.BUILD-SNAPSHOT.jar!/BOOT-INF/classes!/example/repo/Customer177Repository.class]
+2018-08-16 14:51:16.764 DEBUG 45068 --- [ main] o.s.d.r.c.RepositoryComponentProvider : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-4.0.0-SNAPSHOT.jar!/BOOT-INF/classes!/example/repo/Customer177Repository.class]
… <2>
-2018-08-16 14:51:16.879 DEBUG 45068 --- [ main] o.s.d.r.c.RepositoryComponentProvider : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-2.0.0.BUILD-SNAPSHOT.jar!/BOOT-INF/classes!/example/repo/Customer829Repository.class]
+2018-08-16 14:51:16.879 DEBUG 45068 --- [ main] o.s.d.r.c.RepositoryComponentProvider : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-4.0.0-SNAPSHOT.jar!/BOOT-INF/classes!/example/repo/Customer829Repository.class]
2018-08-16 14:51:19.087 DEBUG 45068 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Registering deferred repository initialization listener.
2018-08-16 14:51:19.088 INFO 45068 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 2451ms. Found 2000 repository interfaces.
… <3>
@@ -171,23 +171,23 @@ Repository initialization is completely skipped for the application to start qui
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.0.BUILD-SNAPSHOT)
-2018-08-16 15:02:50.642 INFO 45568 --- [ main] example.Application : Starting Application v2.0.0.BUILD-SNAPSHOT on Serendipity-3.local with PID 45568 (/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-2.0.0.BUILD-SNAPSHOT.jar started by olivergierke in /Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred)
+2018-08-16 15:02:50.642 INFO 45568 --- [ main] example.Application : Starting Application v4.0.0-SNAPSHOT on Serendipity-3.local with PID 45568 (/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-4.0.0-SNAPSHOT.jar started by olivergierke in /Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred)
2018-08-16 15:02:50.642 INFO 45568 --- [ main] example.Application : The following profiles are active: lazy
2018-08-16 15:02:50.642 DEBUG 45568 --- [ main] o.s.boot.SpringApplication : Loading source class example.Application
2018-08-16 15:02:50.684 DEBUG 45568 --- [ main] o.s.b.c.c.ConfigFileApplicationListener : Activated activeProfiles lazy
-2018-08-16 15:02:50.684 DEBUG 45568 --- [ main] o.s.b.c.c.ConfigFileApplicationListener : Loaded config file 'jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-2.0.0.BUILD-SNAPSHOT.jar!/BOOT-INF/classes!/application.properties' (classpath:/application.properties)
+2018-08-16 15:02:50.684 DEBUG 45568 --- [ main] o.s.b.c.c.ConfigFileApplicationListener : Loaded config file 'jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-4.0.0-SNAPSHOT.jar!/BOOT-INF/classes!/application.properties' (classpath:/application.properties)
2018-08-16 15:02:50.684 DEBUG 45568 --- [ main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@224aed64
2018-08-16 15:02:50.700 DEBUG 45568 --- [ main] o.s.b.f.s.DefaultListableBeanFactory : Creating shared instance of singleton bean 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor'
2018-08-16 15:02:50.713 DEBUG 45568 --- [ main] o.s.b.f.s.DefaultListableBeanFactory : Creating shared instance of singleton bean 'org.springframework.boot.autoconfigure.internalCachingMetadataReaderFactory'
-2018-08-16 15:02:50.945 DEBUG 45568 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-2.0.0.BUILD-SNAPSHOT.jar!/BOOT-INF/classes!/example/Application$LazyJpaConfiguration.class]
-2018-08-16 15:02:50.989 DEBUG 45568 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-2.0.0.BUILD-SNAPSHOT.jar!/BOOT-INF/classes!/example/service/Customer1803Service.class]
+2018-08-16 15:02:50.945 DEBUG 45568 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-4.0.0-SNAPSHOT.jar!/BOOT-INF/classes!/example/Application$LazyJpaConfiguration.class]
+2018-08-16 15:02:50.989 DEBUG 45568 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-4.0.0-SNAPSHOT.jar!/BOOT-INF/classes!/example/service/Customer1803Service.class]
… <1>
-2018-08-16 15:02:51.442 DEBUG 45568 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-2.0.0.BUILD-SNAPSHOT.jar!/BOOT-INF/classes!/example/service/Customer1830Service.class]
+2018-08-16 15:02:51.442 DEBUG 45568 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-4.0.0-SNAPSHOT.jar!/BOOT-INF/classes!/example/service/Customer1830Service.class]
2018-08-16 15:02:51.907 INFO 45568 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in LAZY mode.
2018-08-16 15:02:51.917 DEBUG 45568 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Scanning for repositories in packages example.
-2018-08-16 15:02:52.048 DEBUG 45568 --- [ main] o.s.d.r.c.RepositoryComponentProvider : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-2.0.0.BUILD-SNAPSHOT.jar!/BOOT-INF/classes!/example/repo/Customer177Repository.class]
+2018-08-16 15:02:52.048 DEBUG 45568 --- [ main] o.s.d.r.c.RepositoryComponentProvider : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-4.0.0-SNAPSHOT.jar!/BOOT-INF/classes!/example/repo/Customer177Repository.class]
… <2>
-2018-08-16 15:02:52.152 DEBUG 45568 --- [ main] o.s.d.r.c.RepositoryComponentProvider : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-2.0.0.BUILD-SNAPSHOT.jar!/BOOT-INF/classes!/example/repo/Customer829Repository.class]
+2018-08-16 15:02:52.152 DEBUG 45568 --- [ main] o.s.d.r.c.RepositoryComponentProvider : Identified candidate component class: URL [jar:file:/Users/olivergierke/Documents/workspace/spring-data-examples/jpa/deferred/target/spring-data-jpa-deferred-4.0.0-SNAPSHOT.jar!/BOOT-INF/classes!/example/repo/Customer829Repository.class]
2018-08-16 15:02:54.267 INFO 45568 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 2350ms. Found 2000 repository interfaces.
… <3>
2018-08-16 15:02:55.942 DEBUG 45568 --- [lTaskExecutor-1] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default'
diff --git a/jpa/deferred/pom.xml b/jpa/deferred/pom.xml
index 354f902b1..6187d85ca 100644
--- a/jpa/deferred/pom.xml
+++ b/jpa/deferred/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data.examplesspring-data-jpa-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-jpa-deferred
diff --git a/jpa/deferred/src/main/java/example/model/Customer.java b/jpa/deferred/src/main/java/example/model/Customer.java
index 06317be42..5973d2f53 100644
--- a/jpa/deferred/src/main/java/example/model/Customer.java
+++ b/jpa/deferred/src/main/java/example/model/Customer.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1.java b/jpa/deferred/src/main/java/example/model/Customer1.java
index 806db27fb..3f18d670f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer10.java b/jpa/deferred/src/main/java/example/model/Customer10.java
index 589f7e637..20ef9dd76 100644
--- a/jpa/deferred/src/main/java/example/model/Customer10.java
+++ b/jpa/deferred/src/main/java/example/model/Customer10.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer10 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer100.java b/jpa/deferred/src/main/java/example/model/Customer100.java
index eec91c3ac..7f6af035b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer100.java
+++ b/jpa/deferred/src/main/java/example/model/Customer100.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer100 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1000.java b/jpa/deferred/src/main/java/example/model/Customer1000.java
index 14d2b5943..2c67045ac 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1000.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1000.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1000 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1001.java b/jpa/deferred/src/main/java/example/model/Customer1001.java
index 633ea26eb..1a900dec5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1001.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1001.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1001 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1002.java b/jpa/deferred/src/main/java/example/model/Customer1002.java
index 7f3988ee9..7021eb03e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1002.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1002.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1002 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1003.java b/jpa/deferred/src/main/java/example/model/Customer1003.java
index fb1506819..28af9e28f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1003.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1003.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1003 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1004.java b/jpa/deferred/src/main/java/example/model/Customer1004.java
index b81c4b50a..cefc10868 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1004.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1004.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1004 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1005.java b/jpa/deferred/src/main/java/example/model/Customer1005.java
index 780cc2798..9f1a43700 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1005.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1005.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1005 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1006.java b/jpa/deferred/src/main/java/example/model/Customer1006.java
index f5353f91f..96b8ad6bb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1006.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1006.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1006 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1007.java b/jpa/deferred/src/main/java/example/model/Customer1007.java
index dc4744496..742587523 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1007.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1007.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1007 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1008.java b/jpa/deferred/src/main/java/example/model/Customer1008.java
index efd249912..2f99fe435 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1008.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1008.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1008 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1009.java b/jpa/deferred/src/main/java/example/model/Customer1009.java
index 7bb153e85..6338ce871 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1009.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1009.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1009 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer101.java b/jpa/deferred/src/main/java/example/model/Customer101.java
index 81c0bd7f6..572037916 100644
--- a/jpa/deferred/src/main/java/example/model/Customer101.java
+++ b/jpa/deferred/src/main/java/example/model/Customer101.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer101 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1010.java b/jpa/deferred/src/main/java/example/model/Customer1010.java
index 72a918d29..55569283e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1010.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1010.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1010 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1011.java b/jpa/deferred/src/main/java/example/model/Customer1011.java
index a9730baf5..c55ce87bc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1011.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1011.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1011 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1012.java b/jpa/deferred/src/main/java/example/model/Customer1012.java
index b4149cdb8..a6c5b3776 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1012.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1012.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1012 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1013.java b/jpa/deferred/src/main/java/example/model/Customer1013.java
index 5d1dc9cae..21bc8bbe8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1013.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1013.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1013 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1014.java b/jpa/deferred/src/main/java/example/model/Customer1014.java
index 6e6f7d33f..0186e510d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1014.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1014.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1014 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1015.java b/jpa/deferred/src/main/java/example/model/Customer1015.java
index dc8b88794..6a79f1f6d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1015.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1015.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1015 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1016.java b/jpa/deferred/src/main/java/example/model/Customer1016.java
index 0b207ac09..66c8d9970 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1016.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1016.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1016 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1017.java b/jpa/deferred/src/main/java/example/model/Customer1017.java
index 7a33e21d8..a4a078a29 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1017.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1017.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1017 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1018.java b/jpa/deferred/src/main/java/example/model/Customer1018.java
index 3e759fb0c..fe0ba301c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1018.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1018.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1018 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1019.java b/jpa/deferred/src/main/java/example/model/Customer1019.java
index 521fb1e0f..d8f216a45 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1019.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1019.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1019 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer102.java b/jpa/deferred/src/main/java/example/model/Customer102.java
index 9748d9916..6c4359830 100644
--- a/jpa/deferred/src/main/java/example/model/Customer102.java
+++ b/jpa/deferred/src/main/java/example/model/Customer102.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer102 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1020.java b/jpa/deferred/src/main/java/example/model/Customer1020.java
index bb45b6d06..3cf358e90 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1020.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1020.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1020 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1021.java b/jpa/deferred/src/main/java/example/model/Customer1021.java
index 73a0e6e1f..488bbca6e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1021.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1021.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1021 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1022.java b/jpa/deferred/src/main/java/example/model/Customer1022.java
index ceaa4efb5..6cb6421d1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1022.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1022.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1022 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1023.java b/jpa/deferred/src/main/java/example/model/Customer1023.java
index c35ce2ff3..b8646c010 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1023.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1023.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1023 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1024.java b/jpa/deferred/src/main/java/example/model/Customer1024.java
index dc5548e20..d73df2b1d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1024.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1024.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1024 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1025.java b/jpa/deferred/src/main/java/example/model/Customer1025.java
index b8f74e040..5fc6e31ec 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1025.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1025.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1025 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1026.java b/jpa/deferred/src/main/java/example/model/Customer1026.java
index 18ac55d2d..1c73112d3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1026.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1026.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1026 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1027.java b/jpa/deferred/src/main/java/example/model/Customer1027.java
index 2c22a21fe..ab24a3e6c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1027.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1027.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1027 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1028.java b/jpa/deferred/src/main/java/example/model/Customer1028.java
index d60ce32f2..8c4441882 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1028.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1028.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1028 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1029.java b/jpa/deferred/src/main/java/example/model/Customer1029.java
index 06542daa7..722c7ef06 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1029.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1029.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1029 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer103.java b/jpa/deferred/src/main/java/example/model/Customer103.java
index 41d50a1cc..67a0506ce 100644
--- a/jpa/deferred/src/main/java/example/model/Customer103.java
+++ b/jpa/deferred/src/main/java/example/model/Customer103.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer103 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1030.java b/jpa/deferred/src/main/java/example/model/Customer1030.java
index 2c0c6109b..d866f146d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1030.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1030.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1030 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1031.java b/jpa/deferred/src/main/java/example/model/Customer1031.java
index 5bcf710dc..71846705f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1031.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1031.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1031 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1032.java b/jpa/deferred/src/main/java/example/model/Customer1032.java
index 06aae6114..e5d89eb8f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1032.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1032.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1032 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1033.java b/jpa/deferred/src/main/java/example/model/Customer1033.java
index 2fb2b7490..cfb5115a5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1033.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1033.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1033 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1034.java b/jpa/deferred/src/main/java/example/model/Customer1034.java
index 9ea03cfbc..7e57f2a86 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1034.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1034.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1034 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1035.java b/jpa/deferred/src/main/java/example/model/Customer1035.java
index 68a025eed..f83ded94e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1035.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1035.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1035 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1036.java b/jpa/deferred/src/main/java/example/model/Customer1036.java
index 49a9c87b7..a484f2060 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1036.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1036.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1036 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1037.java b/jpa/deferred/src/main/java/example/model/Customer1037.java
index b3c84f1ee..3339a7879 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1037.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1037.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1037 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1038.java b/jpa/deferred/src/main/java/example/model/Customer1038.java
index 682a5d2a2..90fc792ed 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1038.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1038.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1038 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1039.java b/jpa/deferred/src/main/java/example/model/Customer1039.java
index f95a22a2b..e68a1a308 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1039.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1039.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1039 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer104.java b/jpa/deferred/src/main/java/example/model/Customer104.java
index 2e312c1e3..e59c45274 100644
--- a/jpa/deferred/src/main/java/example/model/Customer104.java
+++ b/jpa/deferred/src/main/java/example/model/Customer104.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer104 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1040.java b/jpa/deferred/src/main/java/example/model/Customer1040.java
index cfc9832ee..97b106fe7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1040.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1040.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1040 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1041.java b/jpa/deferred/src/main/java/example/model/Customer1041.java
index bf4467db7..5c4fb5ee5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1041.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1041.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1041 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1042.java b/jpa/deferred/src/main/java/example/model/Customer1042.java
index eb1a27837..0250899f9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1042.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1042.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1042 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1043.java b/jpa/deferred/src/main/java/example/model/Customer1043.java
index 91c6f83c8..d074b9442 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1043.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1043.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1043 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1044.java b/jpa/deferred/src/main/java/example/model/Customer1044.java
index 8847a67ff..4321b0f29 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1044.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1044.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1044 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1045.java b/jpa/deferred/src/main/java/example/model/Customer1045.java
index d49b63887..4951ffbbd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1045.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1045.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1045 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1046.java b/jpa/deferred/src/main/java/example/model/Customer1046.java
index f2c07bb53..e2edd8bc4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1046.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1046.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1046 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1047.java b/jpa/deferred/src/main/java/example/model/Customer1047.java
index a2c74478c..6fa12f342 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1047.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1047.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1047 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1048.java b/jpa/deferred/src/main/java/example/model/Customer1048.java
index 24777b7ac..d7c5640cd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1048.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1048.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1048 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1049.java b/jpa/deferred/src/main/java/example/model/Customer1049.java
index d5bfea529..f1e196687 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1049.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1049.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1049 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer105.java b/jpa/deferred/src/main/java/example/model/Customer105.java
index 6c60ca6f5..2c91d2afd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer105.java
+++ b/jpa/deferred/src/main/java/example/model/Customer105.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer105 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1050.java b/jpa/deferred/src/main/java/example/model/Customer1050.java
index 0f8c488d7..dcbfa72c9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1050.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1050.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1050 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1051.java b/jpa/deferred/src/main/java/example/model/Customer1051.java
index 0aba666f8..b4ca2270b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1051.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1051.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1051 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1052.java b/jpa/deferred/src/main/java/example/model/Customer1052.java
index 5429c7566..11b333ed0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1052.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1052.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1052 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1053.java b/jpa/deferred/src/main/java/example/model/Customer1053.java
index 7b4339dff..4f2adef37 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1053.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1053.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1053 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1054.java b/jpa/deferred/src/main/java/example/model/Customer1054.java
index 4809142e9..3a72e7dcf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1054.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1054.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1054 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1055.java b/jpa/deferred/src/main/java/example/model/Customer1055.java
index 2a35549d6..b18e4f37e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1055.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1055.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1055 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1056.java b/jpa/deferred/src/main/java/example/model/Customer1056.java
index bbebc15ff..e41cdd26c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1056.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1056.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1056 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1057.java b/jpa/deferred/src/main/java/example/model/Customer1057.java
index aa782dafc..796fe0dfc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1057.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1057.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1057 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1058.java b/jpa/deferred/src/main/java/example/model/Customer1058.java
index 8e0b2d0e1..06d7b1379 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1058.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1058.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1058 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1059.java b/jpa/deferred/src/main/java/example/model/Customer1059.java
index 9a3c54a26..dd0a3f116 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1059.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1059.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1059 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer106.java b/jpa/deferred/src/main/java/example/model/Customer106.java
index 0589d140a..d3f7f1463 100644
--- a/jpa/deferred/src/main/java/example/model/Customer106.java
+++ b/jpa/deferred/src/main/java/example/model/Customer106.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer106 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1060.java b/jpa/deferred/src/main/java/example/model/Customer1060.java
index a52682bda..c744dba57 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1060.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1060.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1060 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1061.java b/jpa/deferred/src/main/java/example/model/Customer1061.java
index ece1f2abf..b66ea03f1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1061.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1061.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1061 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1062.java b/jpa/deferred/src/main/java/example/model/Customer1062.java
index 1f85406a4..1bf92948f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1062.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1062.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1062 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1063.java b/jpa/deferred/src/main/java/example/model/Customer1063.java
index cba6e17d9..dc5e7961b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1063.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1063.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1063 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1064.java b/jpa/deferred/src/main/java/example/model/Customer1064.java
index 3c4b34f27..46f1c693b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1064.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1064.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1064 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1065.java b/jpa/deferred/src/main/java/example/model/Customer1065.java
index 0f0d254e1..e880c765d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1065.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1065.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1065 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1066.java b/jpa/deferred/src/main/java/example/model/Customer1066.java
index 70b4eb15c..2d1ec912b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1066.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1066.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1066 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1067.java b/jpa/deferred/src/main/java/example/model/Customer1067.java
index a6daf41f9..0d6f9879c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1067.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1067.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1067 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1068.java b/jpa/deferred/src/main/java/example/model/Customer1068.java
index d1ab6d4b7..a96b99c0d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1068.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1068.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1068 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1069.java b/jpa/deferred/src/main/java/example/model/Customer1069.java
index 727304032..c87928195 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1069.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1069.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1069 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer107.java b/jpa/deferred/src/main/java/example/model/Customer107.java
index 909b16258..70c8dc9bb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer107.java
+++ b/jpa/deferred/src/main/java/example/model/Customer107.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer107 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1070.java b/jpa/deferred/src/main/java/example/model/Customer1070.java
index f6ff269bc..1ef645dde 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1070.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1070.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1070 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1071.java b/jpa/deferred/src/main/java/example/model/Customer1071.java
index 011d76081..91773f1f9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1071.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1071.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1071 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1072.java b/jpa/deferred/src/main/java/example/model/Customer1072.java
index aee47b3c4..c0f30fd45 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1072.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1072.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1072 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1073.java b/jpa/deferred/src/main/java/example/model/Customer1073.java
index dbc57c532..22a809e93 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1073.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1073.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1073 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1074.java b/jpa/deferred/src/main/java/example/model/Customer1074.java
index 317533cd8..f5e894e06 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1074.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1074.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1074 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1075.java b/jpa/deferred/src/main/java/example/model/Customer1075.java
index f2ad36b78..90d137772 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1075.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1075.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1075 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1076.java b/jpa/deferred/src/main/java/example/model/Customer1076.java
index 7b7c31ecc..6ae339e91 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1076.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1076.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1076 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1077.java b/jpa/deferred/src/main/java/example/model/Customer1077.java
index 7bcbed15f..77c2a2dcb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1077.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1077.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1077 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1078.java b/jpa/deferred/src/main/java/example/model/Customer1078.java
index 6e2627cba..97948ccdb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1078.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1078.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1078 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1079.java b/jpa/deferred/src/main/java/example/model/Customer1079.java
index 302dbaddb..ec0c5c7d2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1079.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1079.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1079 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer108.java b/jpa/deferred/src/main/java/example/model/Customer108.java
index 29d7aed1c..00b64758b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer108.java
+++ b/jpa/deferred/src/main/java/example/model/Customer108.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer108 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1080.java b/jpa/deferred/src/main/java/example/model/Customer1080.java
index c5a059c11..ebb1b7033 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1080.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1080.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1080 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1081.java b/jpa/deferred/src/main/java/example/model/Customer1081.java
index ab1894157..42c0d5a2f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1081.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1081.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1081 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1082.java b/jpa/deferred/src/main/java/example/model/Customer1082.java
index 9d45d011d..47a1f4d17 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1082.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1082.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1082 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1083.java b/jpa/deferred/src/main/java/example/model/Customer1083.java
index 9693e15f4..0d4cebb55 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1083.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1083.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1083 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1084.java b/jpa/deferred/src/main/java/example/model/Customer1084.java
index 7a19e2483..7c2d64a70 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1084.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1084.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1084 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1085.java b/jpa/deferred/src/main/java/example/model/Customer1085.java
index 5999794d3..d879a367e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1085.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1085.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1085 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1086.java b/jpa/deferred/src/main/java/example/model/Customer1086.java
index 3b96d83c5..1b00c8f2d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1086.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1086.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1086 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1087.java b/jpa/deferred/src/main/java/example/model/Customer1087.java
index 3b0ccb862..36511e0e2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1087.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1087.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1087 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1088.java b/jpa/deferred/src/main/java/example/model/Customer1088.java
index 259ab0a19..60a452f81 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1088.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1088.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1088 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1089.java b/jpa/deferred/src/main/java/example/model/Customer1089.java
index 6211a34e4..ac930d17e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1089.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1089.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1089 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer109.java b/jpa/deferred/src/main/java/example/model/Customer109.java
index d5ff75661..0f6da9b55 100644
--- a/jpa/deferred/src/main/java/example/model/Customer109.java
+++ b/jpa/deferred/src/main/java/example/model/Customer109.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer109 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1090.java b/jpa/deferred/src/main/java/example/model/Customer1090.java
index 2e4340118..67c212aa3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1090.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1090.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1090 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1091.java b/jpa/deferred/src/main/java/example/model/Customer1091.java
index d8ac26946..e7cc73937 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1091.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1091.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1091 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1092.java b/jpa/deferred/src/main/java/example/model/Customer1092.java
index e43bbee55..7833752bc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1092.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1092.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1092 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1093.java b/jpa/deferred/src/main/java/example/model/Customer1093.java
index 1fd19a930..4048c99d0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1093.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1093.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1093 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1094.java b/jpa/deferred/src/main/java/example/model/Customer1094.java
index 51d6fdd77..93a6d0031 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1094.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1094.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1094 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1095.java b/jpa/deferred/src/main/java/example/model/Customer1095.java
index f0b10e4f5..37bf59f1b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1095.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1095.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1095 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1096.java b/jpa/deferred/src/main/java/example/model/Customer1096.java
index 73c862d4c..d96a7cd20 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1096.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1096.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1096 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1097.java b/jpa/deferred/src/main/java/example/model/Customer1097.java
index 431b643af..0f94b68bd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1097.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1097.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1097 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1098.java b/jpa/deferred/src/main/java/example/model/Customer1098.java
index 1515b4c8d..8d209d3d3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1098.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1098.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1098 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1099.java b/jpa/deferred/src/main/java/example/model/Customer1099.java
index 69edaf7c1..179ffad2d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1099.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1099.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1099 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer11.java b/jpa/deferred/src/main/java/example/model/Customer11.java
index 1d625bf27..c2ac83a3c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer11.java
+++ b/jpa/deferred/src/main/java/example/model/Customer11.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer11 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer110.java b/jpa/deferred/src/main/java/example/model/Customer110.java
index 2c7e3fc89..01fd1a0f4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer110.java
+++ b/jpa/deferred/src/main/java/example/model/Customer110.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer110 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1100.java b/jpa/deferred/src/main/java/example/model/Customer1100.java
index 0c184a0f4..cab626c95 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1100.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1100.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1100 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1101.java b/jpa/deferred/src/main/java/example/model/Customer1101.java
index 658ff7eec..ede51064a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1101.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1101.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1101 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1102.java b/jpa/deferred/src/main/java/example/model/Customer1102.java
index 0f2fc45ba..d6de17b8a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1102.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1102.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1102 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1103.java b/jpa/deferred/src/main/java/example/model/Customer1103.java
index c0021d810..168aa2af9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1103.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1103.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1103 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1104.java b/jpa/deferred/src/main/java/example/model/Customer1104.java
index 5f24fcf6e..843fab697 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1104.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1104.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1104 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1105.java b/jpa/deferred/src/main/java/example/model/Customer1105.java
index d18bc6adf..517776fbb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1105.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1105.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1105 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1106.java b/jpa/deferred/src/main/java/example/model/Customer1106.java
index dd8053aab..971a1c44d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1106.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1106.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1106 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1107.java b/jpa/deferred/src/main/java/example/model/Customer1107.java
index b9a03aee9..2d78f1358 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1107.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1107.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1107 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1108.java b/jpa/deferred/src/main/java/example/model/Customer1108.java
index 5649ca6dc..846f80aa5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1108.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1108.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1108 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1109.java b/jpa/deferred/src/main/java/example/model/Customer1109.java
index a936f826f..6cd6c525e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1109.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1109.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1109 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer111.java b/jpa/deferred/src/main/java/example/model/Customer111.java
index 275ff6a6f..6c54d9fcd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer111.java
+++ b/jpa/deferred/src/main/java/example/model/Customer111.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer111 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1110.java b/jpa/deferred/src/main/java/example/model/Customer1110.java
index db293e455..69386d28d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1110.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1110.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1110 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1111.java b/jpa/deferred/src/main/java/example/model/Customer1111.java
index d4e9da1eb..2a90a7ddd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1111.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1111.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1111 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1112.java b/jpa/deferred/src/main/java/example/model/Customer1112.java
index cfb61697e..ca18f571a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1112.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1112.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1112 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1113.java b/jpa/deferred/src/main/java/example/model/Customer1113.java
index a705f8707..9102d3338 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1113.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1113.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1113 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1114.java b/jpa/deferred/src/main/java/example/model/Customer1114.java
index f61a993db..f2da7e456 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1114.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1114.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1114 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1115.java b/jpa/deferred/src/main/java/example/model/Customer1115.java
index d3dc9118c..5e2703a08 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1115.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1115.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1115 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1116.java b/jpa/deferred/src/main/java/example/model/Customer1116.java
index cb9da4eb9..e7e83ac13 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1116.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1116.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1116 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1117.java b/jpa/deferred/src/main/java/example/model/Customer1117.java
index 1dfffba3c..0d6a451cb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1117.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1117.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1117 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1118.java b/jpa/deferred/src/main/java/example/model/Customer1118.java
index edf9b0cff..11e8b9555 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1118.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1118.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1118 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1119.java b/jpa/deferred/src/main/java/example/model/Customer1119.java
index 0739fd9c5..02133a4a5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1119.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1119.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1119 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer112.java b/jpa/deferred/src/main/java/example/model/Customer112.java
index 3f2bb6904..54748c299 100644
--- a/jpa/deferred/src/main/java/example/model/Customer112.java
+++ b/jpa/deferred/src/main/java/example/model/Customer112.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer112 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1120.java b/jpa/deferred/src/main/java/example/model/Customer1120.java
index c0040eb15..96035260a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1120.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1120.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1120 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1121.java b/jpa/deferred/src/main/java/example/model/Customer1121.java
index 8ba7c1868..2d1d70e9a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1121.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1121.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1121 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1122.java b/jpa/deferred/src/main/java/example/model/Customer1122.java
index 3b2b17b67..d36a0100c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1122.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1122.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1122 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1123.java b/jpa/deferred/src/main/java/example/model/Customer1123.java
index ecf108500..b45cb44a4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1123.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1123.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1123 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1124.java b/jpa/deferred/src/main/java/example/model/Customer1124.java
index 1d0a7db87..db74bb17a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1124.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1124.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1124 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1125.java b/jpa/deferred/src/main/java/example/model/Customer1125.java
index 7c42180ba..de6006b8a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1125.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1125.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1125 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1126.java b/jpa/deferred/src/main/java/example/model/Customer1126.java
index ffbd80853..321ab2ebf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1126.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1126.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1126 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1127.java b/jpa/deferred/src/main/java/example/model/Customer1127.java
index 91a79bac9..7317eed8f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1127.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1127.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1127 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1128.java b/jpa/deferred/src/main/java/example/model/Customer1128.java
index 1f1da77a6..a27770594 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1128.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1128.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1128 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1129.java b/jpa/deferred/src/main/java/example/model/Customer1129.java
index b97a08cde..8099360eb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1129.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1129.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1129 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer113.java b/jpa/deferred/src/main/java/example/model/Customer113.java
index 5d79cce7c..de84e59df 100644
--- a/jpa/deferred/src/main/java/example/model/Customer113.java
+++ b/jpa/deferred/src/main/java/example/model/Customer113.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer113 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1130.java b/jpa/deferred/src/main/java/example/model/Customer1130.java
index 5645aee73..75591d9cd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1130.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1130.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1130 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1131.java b/jpa/deferred/src/main/java/example/model/Customer1131.java
index 23015c2d4..87f5c20ec 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1131.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1131.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1131 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1132.java b/jpa/deferred/src/main/java/example/model/Customer1132.java
index 62fabfdf6..13be17cb1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1132.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1132.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1132 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1133.java b/jpa/deferred/src/main/java/example/model/Customer1133.java
index 79895d7d5..6634492d3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1133.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1133.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1133 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1134.java b/jpa/deferred/src/main/java/example/model/Customer1134.java
index 044008b19..ce6a4f80e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1134.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1134.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1134 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1135.java b/jpa/deferred/src/main/java/example/model/Customer1135.java
index f14942408..9158d983b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1135.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1135.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1135 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1136.java b/jpa/deferred/src/main/java/example/model/Customer1136.java
index e282b37a1..aa29551a7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1136.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1136.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1136 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1137.java b/jpa/deferred/src/main/java/example/model/Customer1137.java
index 553067936..e430a130c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1137.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1137.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1137 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1138.java b/jpa/deferred/src/main/java/example/model/Customer1138.java
index deff583eb..13c8a197d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1138.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1138.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1138 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1139.java b/jpa/deferred/src/main/java/example/model/Customer1139.java
index c7cdc0ab6..095c5cd8f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1139.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1139.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1139 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer114.java b/jpa/deferred/src/main/java/example/model/Customer114.java
index 0727d6b23..355f2104d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer114.java
+++ b/jpa/deferred/src/main/java/example/model/Customer114.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer114 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1140.java b/jpa/deferred/src/main/java/example/model/Customer1140.java
index ea6cec8f6..95d293c2f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1140.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1140.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1140 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1141.java b/jpa/deferred/src/main/java/example/model/Customer1141.java
index 10d3654d9..c548bc234 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1141.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1141.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1141 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1142.java b/jpa/deferred/src/main/java/example/model/Customer1142.java
index 61ebdb37d..bc5fd59bb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1142.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1142.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1142 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1143.java b/jpa/deferred/src/main/java/example/model/Customer1143.java
index 4012bfbf5..b401e30e8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1143.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1143.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1143 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1144.java b/jpa/deferred/src/main/java/example/model/Customer1144.java
index d2c8ba09c..76a526c61 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1144.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1144.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1144 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1145.java b/jpa/deferred/src/main/java/example/model/Customer1145.java
index d4e833ca5..501674a3f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1145.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1145.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1145 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1146.java b/jpa/deferred/src/main/java/example/model/Customer1146.java
index 60fb740b6..9e551b699 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1146.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1146.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1146 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1147.java b/jpa/deferred/src/main/java/example/model/Customer1147.java
index b079a333d..8edbc2212 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1147.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1147.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1147 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1148.java b/jpa/deferred/src/main/java/example/model/Customer1148.java
index 884f1d436..d2a9dd459 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1148.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1148.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1148 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1149.java b/jpa/deferred/src/main/java/example/model/Customer1149.java
index 3aea4c1d4..a303f40f1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1149.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1149.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1149 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer115.java b/jpa/deferred/src/main/java/example/model/Customer115.java
index 5b778f246..2715f1e58 100644
--- a/jpa/deferred/src/main/java/example/model/Customer115.java
+++ b/jpa/deferred/src/main/java/example/model/Customer115.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer115 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1150.java b/jpa/deferred/src/main/java/example/model/Customer1150.java
index a6ea1e2d8..aca43a8af 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1150.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1150.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1150 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1151.java b/jpa/deferred/src/main/java/example/model/Customer1151.java
index e1e5e0fcc..a59426bad 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1151.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1151.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1151 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1152.java b/jpa/deferred/src/main/java/example/model/Customer1152.java
index 47794d594..23769cbca 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1152.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1152.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1152 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1153.java b/jpa/deferred/src/main/java/example/model/Customer1153.java
index fa8685590..b1c75f675 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1153.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1153.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1153 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1154.java b/jpa/deferred/src/main/java/example/model/Customer1154.java
index 5b2ba555d..e31f456e5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1154.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1154.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1154 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1155.java b/jpa/deferred/src/main/java/example/model/Customer1155.java
index bdef4db33..a30c59697 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1155.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1155.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1155 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1156.java b/jpa/deferred/src/main/java/example/model/Customer1156.java
index 51d101c9d..a8663b3e5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1156.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1156.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1156 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1157.java b/jpa/deferred/src/main/java/example/model/Customer1157.java
index d32bb8fcd..6eec7ff2d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1157.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1157.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1157 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1158.java b/jpa/deferred/src/main/java/example/model/Customer1158.java
index a7a792263..1a9615649 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1158.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1158.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1158 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1159.java b/jpa/deferred/src/main/java/example/model/Customer1159.java
index 255addc6c..be5ec05da 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1159.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1159.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1159 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer116.java b/jpa/deferred/src/main/java/example/model/Customer116.java
index 960395655..4ae7fd0e2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer116.java
+++ b/jpa/deferred/src/main/java/example/model/Customer116.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer116 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1160.java b/jpa/deferred/src/main/java/example/model/Customer1160.java
index 7e2cfa9ff..9b1c034e2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1160.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1160.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1160 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1161.java b/jpa/deferred/src/main/java/example/model/Customer1161.java
index 9fce7a839..551cb58a8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1161.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1161.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1161 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1162.java b/jpa/deferred/src/main/java/example/model/Customer1162.java
index d554778f4..fa2960e47 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1162.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1162.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1162 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1163.java b/jpa/deferred/src/main/java/example/model/Customer1163.java
index dba053a29..db30286aa 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1163.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1163.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1163 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1164.java b/jpa/deferred/src/main/java/example/model/Customer1164.java
index 3bc28fab2..5b2dfa1b6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1164.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1164.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1164 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1165.java b/jpa/deferred/src/main/java/example/model/Customer1165.java
index de56d4cff..a35a23fbe 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1165.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1165.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1165 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1166.java b/jpa/deferred/src/main/java/example/model/Customer1166.java
index 586739bd8..38c558087 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1166.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1166.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1166 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1167.java b/jpa/deferred/src/main/java/example/model/Customer1167.java
index d76133ede..f196f3dbb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1167.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1167.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1167 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1168.java b/jpa/deferred/src/main/java/example/model/Customer1168.java
index 232180cde..870cb2b42 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1168.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1168.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1168 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1169.java b/jpa/deferred/src/main/java/example/model/Customer1169.java
index 76fbc2406..cab64bfbb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1169.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1169.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1169 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer117.java b/jpa/deferred/src/main/java/example/model/Customer117.java
index b7cddf30a..4aced70e1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer117.java
+++ b/jpa/deferred/src/main/java/example/model/Customer117.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer117 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1170.java b/jpa/deferred/src/main/java/example/model/Customer1170.java
index 6019d2fe7..da5866353 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1170.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1170.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1170 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1171.java b/jpa/deferred/src/main/java/example/model/Customer1171.java
index ecfa0e1db..1e1ea839d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1171.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1171.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1171 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1172.java b/jpa/deferred/src/main/java/example/model/Customer1172.java
index 6a255222d..824a0dea2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1172.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1172.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1172 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1173.java b/jpa/deferred/src/main/java/example/model/Customer1173.java
index d89fe6711..bdfd7532a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1173.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1173.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1173 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1174.java b/jpa/deferred/src/main/java/example/model/Customer1174.java
index 9aa0dc92c..b896bd580 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1174.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1174.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1174 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1175.java b/jpa/deferred/src/main/java/example/model/Customer1175.java
index e1fbd6871..3a69f47c4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1175.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1175.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1175 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1176.java b/jpa/deferred/src/main/java/example/model/Customer1176.java
index c37cd619a..13050ba81 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1176.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1176.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1176 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1177.java b/jpa/deferred/src/main/java/example/model/Customer1177.java
index f6e23180f..e341df7ef 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1177.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1177.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1177 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1178.java b/jpa/deferred/src/main/java/example/model/Customer1178.java
index 5f60aa5e7..e99c96e0d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1178.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1178.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1178 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1179.java b/jpa/deferred/src/main/java/example/model/Customer1179.java
index 9c5d0481f..3eb1f7af0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1179.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1179.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1179 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer118.java b/jpa/deferred/src/main/java/example/model/Customer118.java
index 98bbd308f..2b340e893 100644
--- a/jpa/deferred/src/main/java/example/model/Customer118.java
+++ b/jpa/deferred/src/main/java/example/model/Customer118.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer118 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1180.java b/jpa/deferred/src/main/java/example/model/Customer1180.java
index c5dc6ca34..a54b124ae 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1180.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1180.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1180 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1181.java b/jpa/deferred/src/main/java/example/model/Customer1181.java
index 01244be1e..d24b5d90f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1181.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1181.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1181 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1182.java b/jpa/deferred/src/main/java/example/model/Customer1182.java
index cc5a89ce0..6c939e568 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1182.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1182.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1182 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1183.java b/jpa/deferred/src/main/java/example/model/Customer1183.java
index b84c2d5d8..51b4693dd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1183.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1183.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1183 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1184.java b/jpa/deferred/src/main/java/example/model/Customer1184.java
index d9768b6e6..ef237996f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1184.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1184.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1184 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1185.java b/jpa/deferred/src/main/java/example/model/Customer1185.java
index d5679301e..d812b8866 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1185.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1185.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1185 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1186.java b/jpa/deferred/src/main/java/example/model/Customer1186.java
index 42cf7f9e7..b907ab55a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1186.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1186.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1186 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1187.java b/jpa/deferred/src/main/java/example/model/Customer1187.java
index cd348a76d..d6f9483f5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1187.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1187.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1187 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1188.java b/jpa/deferred/src/main/java/example/model/Customer1188.java
index 6bf912329..03654de7d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1188.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1188.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1188 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1189.java b/jpa/deferred/src/main/java/example/model/Customer1189.java
index a07ac799f..34f1875df 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1189.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1189.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1189 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer119.java b/jpa/deferred/src/main/java/example/model/Customer119.java
index f7c060aac..9cc49b971 100644
--- a/jpa/deferred/src/main/java/example/model/Customer119.java
+++ b/jpa/deferred/src/main/java/example/model/Customer119.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer119 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1190.java b/jpa/deferred/src/main/java/example/model/Customer1190.java
index de414c222..e60fb3f59 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1190.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1190.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1190 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1191.java b/jpa/deferred/src/main/java/example/model/Customer1191.java
index 9083e7b4b..b2fd789c7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1191.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1191.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1191 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1192.java b/jpa/deferred/src/main/java/example/model/Customer1192.java
index d5ef69f1b..deb850c71 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1192.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1192.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1192 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1193.java b/jpa/deferred/src/main/java/example/model/Customer1193.java
index 4d5a5d422..64eaa275d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1193.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1193.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1193 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1194.java b/jpa/deferred/src/main/java/example/model/Customer1194.java
index f81408d4e..3779f73c3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1194.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1194.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1194 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1195.java b/jpa/deferred/src/main/java/example/model/Customer1195.java
index 59808e40b..6c8e4e7ac 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1195.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1195.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1195 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1196.java b/jpa/deferred/src/main/java/example/model/Customer1196.java
index ce22b670e..f880361bd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1196.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1196.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1196 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1197.java b/jpa/deferred/src/main/java/example/model/Customer1197.java
index 73b713147..ec67a3e53 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1197.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1197.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1197 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1198.java b/jpa/deferred/src/main/java/example/model/Customer1198.java
index 53d6e21b1..2f693b867 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1198.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1198.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1198 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1199.java b/jpa/deferred/src/main/java/example/model/Customer1199.java
index a310b49c5..e839cb2c1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1199.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1199.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1199 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer12.java b/jpa/deferred/src/main/java/example/model/Customer12.java
index aa9347829..7fc35d261 100644
--- a/jpa/deferred/src/main/java/example/model/Customer12.java
+++ b/jpa/deferred/src/main/java/example/model/Customer12.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer12 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer120.java b/jpa/deferred/src/main/java/example/model/Customer120.java
index bd46af101..d5fb62997 100644
--- a/jpa/deferred/src/main/java/example/model/Customer120.java
+++ b/jpa/deferred/src/main/java/example/model/Customer120.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer120 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1200.java b/jpa/deferred/src/main/java/example/model/Customer1200.java
index 34e25c8f2..a3763fcb7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1200.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1200.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1200 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1201.java b/jpa/deferred/src/main/java/example/model/Customer1201.java
index d72bf4376..e0329f381 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1201.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1201.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1201 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1202.java b/jpa/deferred/src/main/java/example/model/Customer1202.java
index 2df193490..a05640a47 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1202.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1202.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1202 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1203.java b/jpa/deferred/src/main/java/example/model/Customer1203.java
index 0bc85cf59..62b3a9e7f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1203.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1203.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1203 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1204.java b/jpa/deferred/src/main/java/example/model/Customer1204.java
index ec4b8cc4f..dfcd06cb2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1204.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1204.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1204 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1205.java b/jpa/deferred/src/main/java/example/model/Customer1205.java
index be0e6da93..d67f5c78e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1205.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1205.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1205 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1206.java b/jpa/deferred/src/main/java/example/model/Customer1206.java
index 1033541e6..2de5ed455 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1206.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1206.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1206 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1207.java b/jpa/deferred/src/main/java/example/model/Customer1207.java
index f1aad6eac..1fc9c2127 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1207.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1207.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1207 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1208.java b/jpa/deferred/src/main/java/example/model/Customer1208.java
index f8532b77f..d313fe83c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1208.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1208.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1208 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1209.java b/jpa/deferred/src/main/java/example/model/Customer1209.java
index 210c23f6e..dfbe07e91 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1209.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1209.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1209 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer121.java b/jpa/deferred/src/main/java/example/model/Customer121.java
index e06c27444..1556989a2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer121.java
+++ b/jpa/deferred/src/main/java/example/model/Customer121.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer121 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1210.java b/jpa/deferred/src/main/java/example/model/Customer1210.java
index 33aa282c7..02d786897 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1210.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1210.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1210 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1211.java b/jpa/deferred/src/main/java/example/model/Customer1211.java
index 1e9cdda90..3151f8e94 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1211.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1211.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1211 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1212.java b/jpa/deferred/src/main/java/example/model/Customer1212.java
index 0f88ec576..cf12278c5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1212.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1212.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1212 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1213.java b/jpa/deferred/src/main/java/example/model/Customer1213.java
index aaf679e60..fbde05b68 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1213.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1213.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1213 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1214.java b/jpa/deferred/src/main/java/example/model/Customer1214.java
index fbfeab817..52905282b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1214.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1214.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1214 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1215.java b/jpa/deferred/src/main/java/example/model/Customer1215.java
index be67dbe6d..b16970e28 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1215.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1215.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1215 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1216.java b/jpa/deferred/src/main/java/example/model/Customer1216.java
index 1623da0a5..3f69bdfe4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1216.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1216.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1216 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1217.java b/jpa/deferred/src/main/java/example/model/Customer1217.java
index e461ac801..fa118227a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1217.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1217.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1217 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1218.java b/jpa/deferred/src/main/java/example/model/Customer1218.java
index 38c7fc1fe..b6d744b3b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1218.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1218.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1218 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1219.java b/jpa/deferred/src/main/java/example/model/Customer1219.java
index 010652941..39959265e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1219.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1219.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1219 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer122.java b/jpa/deferred/src/main/java/example/model/Customer122.java
index 21438e38c..e7f85cb54 100644
--- a/jpa/deferred/src/main/java/example/model/Customer122.java
+++ b/jpa/deferred/src/main/java/example/model/Customer122.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer122 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1220.java b/jpa/deferred/src/main/java/example/model/Customer1220.java
index 8580c8f41..b684c3333 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1220.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1220.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1220 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1221.java b/jpa/deferred/src/main/java/example/model/Customer1221.java
index d8d027961..f8315a611 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1221.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1221.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1221 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1222.java b/jpa/deferred/src/main/java/example/model/Customer1222.java
index ffacc77a4..1a1a00d8e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1222.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1222.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1222 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1223.java b/jpa/deferred/src/main/java/example/model/Customer1223.java
index cd663ef81..429d6824e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1223.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1223.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1223 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1224.java b/jpa/deferred/src/main/java/example/model/Customer1224.java
index f87b3d76e..192e55ae4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1224.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1224.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1224 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1225.java b/jpa/deferred/src/main/java/example/model/Customer1225.java
index a657b456e..834794b34 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1225.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1225.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1225 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1226.java b/jpa/deferred/src/main/java/example/model/Customer1226.java
index c8dcbae84..69b7eb06b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1226.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1226.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1226 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1227.java b/jpa/deferred/src/main/java/example/model/Customer1227.java
index 715c7bb90..e96307bb5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1227.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1227.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1227 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1228.java b/jpa/deferred/src/main/java/example/model/Customer1228.java
index 42d304fd4..e95e37f40 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1228.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1228.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1228 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1229.java b/jpa/deferred/src/main/java/example/model/Customer1229.java
index 51355af08..44cee629e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1229.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1229.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1229 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer123.java b/jpa/deferred/src/main/java/example/model/Customer123.java
index 20f8e807f..a3a4c66ec 100644
--- a/jpa/deferred/src/main/java/example/model/Customer123.java
+++ b/jpa/deferred/src/main/java/example/model/Customer123.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer123 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1230.java b/jpa/deferred/src/main/java/example/model/Customer1230.java
index 59241760e..0402e7b0a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1230.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1230.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1230 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1231.java b/jpa/deferred/src/main/java/example/model/Customer1231.java
index 27c03dd45..cda8b6069 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1231.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1231.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1231 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1232.java b/jpa/deferred/src/main/java/example/model/Customer1232.java
index d10c02948..5fbeb326a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1232.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1232.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1232 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1233.java b/jpa/deferred/src/main/java/example/model/Customer1233.java
index 4505b8463..604d53c12 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1233.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1233.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1233 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1234.java b/jpa/deferred/src/main/java/example/model/Customer1234.java
index f0138e957..a11a83b24 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1234.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1234.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1234 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1235.java b/jpa/deferred/src/main/java/example/model/Customer1235.java
index aa0738b69..ba55e5438 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1235.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1235.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1235 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1236.java b/jpa/deferred/src/main/java/example/model/Customer1236.java
index 808bc154a..5e011d09a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1236.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1236.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1236 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1237.java b/jpa/deferred/src/main/java/example/model/Customer1237.java
index 5769fefd1..333d4b4ef 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1237.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1237.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1237 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1238.java b/jpa/deferred/src/main/java/example/model/Customer1238.java
index 4e4a39aff..ea015fbe9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1238.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1238.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1238 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1239.java b/jpa/deferred/src/main/java/example/model/Customer1239.java
index cd2ab6061..725269934 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1239.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1239.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1239 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer124.java b/jpa/deferred/src/main/java/example/model/Customer124.java
index b13e26022..32d022116 100644
--- a/jpa/deferred/src/main/java/example/model/Customer124.java
+++ b/jpa/deferred/src/main/java/example/model/Customer124.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer124 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1240.java b/jpa/deferred/src/main/java/example/model/Customer1240.java
index 2d247120f..cf43f2b59 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1240.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1240.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1240 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1241.java b/jpa/deferred/src/main/java/example/model/Customer1241.java
index afaa36286..e5530d73a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1241.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1241.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1241 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1242.java b/jpa/deferred/src/main/java/example/model/Customer1242.java
index c1f38a0e3..b80cf3a4e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1242.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1242.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1242 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1243.java b/jpa/deferred/src/main/java/example/model/Customer1243.java
index 1a514fc4e..2a7217669 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1243.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1243.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1243 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1244.java b/jpa/deferred/src/main/java/example/model/Customer1244.java
index 71b8e39f6..8978aa775 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1244.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1244.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1244 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1245.java b/jpa/deferred/src/main/java/example/model/Customer1245.java
index 638616af5..4b5ac8f33 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1245.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1245.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1245 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1246.java b/jpa/deferred/src/main/java/example/model/Customer1246.java
index 1344c5568..11a2374ba 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1246.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1246.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1246 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1247.java b/jpa/deferred/src/main/java/example/model/Customer1247.java
index 5f6c8f89a..a858f0c30 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1247.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1247.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1247 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1248.java b/jpa/deferred/src/main/java/example/model/Customer1248.java
index 84b22855c..17b38b822 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1248.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1248.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1248 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1249.java b/jpa/deferred/src/main/java/example/model/Customer1249.java
index e24efdb93..c9b1db8d9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1249.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1249.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1249 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer125.java b/jpa/deferred/src/main/java/example/model/Customer125.java
index c1d04c350..b15baab07 100644
--- a/jpa/deferred/src/main/java/example/model/Customer125.java
+++ b/jpa/deferred/src/main/java/example/model/Customer125.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer125 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1250.java b/jpa/deferred/src/main/java/example/model/Customer1250.java
index 2ae6e8dbe..8e58e16b0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1250.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1250.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1250 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1251.java b/jpa/deferred/src/main/java/example/model/Customer1251.java
index d1868a999..6c03da910 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1251.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1251.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1251 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1252.java b/jpa/deferred/src/main/java/example/model/Customer1252.java
index 696b699ad..7ef0841f3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1252.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1252.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1252 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1253.java b/jpa/deferred/src/main/java/example/model/Customer1253.java
index 572852326..ebe751905 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1253.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1253.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1253 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1254.java b/jpa/deferred/src/main/java/example/model/Customer1254.java
index 23fece05c..034c38265 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1254.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1254.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1254 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1255.java b/jpa/deferred/src/main/java/example/model/Customer1255.java
index dd573902c..ff7a6d041 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1255.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1255.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1255 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1256.java b/jpa/deferred/src/main/java/example/model/Customer1256.java
index c370239fd..8925ec23c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1256.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1256.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1256 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1257.java b/jpa/deferred/src/main/java/example/model/Customer1257.java
index 61a2e7798..329c8fa23 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1257.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1257.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1257 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1258.java b/jpa/deferred/src/main/java/example/model/Customer1258.java
index a6c632563..44d9d7f05 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1258.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1258.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1258 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1259.java b/jpa/deferred/src/main/java/example/model/Customer1259.java
index 45a9aecfb..1aa6a64a8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1259.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1259.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1259 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer126.java b/jpa/deferred/src/main/java/example/model/Customer126.java
index 495eee835..dcf9b7443 100644
--- a/jpa/deferred/src/main/java/example/model/Customer126.java
+++ b/jpa/deferred/src/main/java/example/model/Customer126.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer126 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1260.java b/jpa/deferred/src/main/java/example/model/Customer1260.java
index 0174dbbcb..8df272a07 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1260.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1260.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1260 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1261.java b/jpa/deferred/src/main/java/example/model/Customer1261.java
index f248e2afa..e262098f5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1261.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1261.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1261 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1262.java b/jpa/deferred/src/main/java/example/model/Customer1262.java
index 6d3270808..5dd746c30 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1262.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1262.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1262 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1263.java b/jpa/deferred/src/main/java/example/model/Customer1263.java
index 2f8cf6a1c..5235a7bdf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1263.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1263.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1263 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1264.java b/jpa/deferred/src/main/java/example/model/Customer1264.java
index 3e1032852..de5054e87 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1264.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1264.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1264 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1265.java b/jpa/deferred/src/main/java/example/model/Customer1265.java
index c0f0eed9f..a2bff01d5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1265.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1265.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1265 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1266.java b/jpa/deferred/src/main/java/example/model/Customer1266.java
index 037801c52..eb5c38398 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1266.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1266.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1266 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1267.java b/jpa/deferred/src/main/java/example/model/Customer1267.java
index 3c4bc2fae..7149df98a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1267.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1267.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1267 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1268.java b/jpa/deferred/src/main/java/example/model/Customer1268.java
index 70d357ad1..accb05e2d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1268.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1268.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1268 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1269.java b/jpa/deferred/src/main/java/example/model/Customer1269.java
index e40378226..4a614cf2e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1269.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1269.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1269 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer127.java b/jpa/deferred/src/main/java/example/model/Customer127.java
index aaf303c7a..8e8bf74a7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer127.java
+++ b/jpa/deferred/src/main/java/example/model/Customer127.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer127 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1270.java b/jpa/deferred/src/main/java/example/model/Customer1270.java
index b49aa6ec6..0455cc67c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1270.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1270.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1270 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1271.java b/jpa/deferred/src/main/java/example/model/Customer1271.java
index b8138f889..7fc32e28e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1271.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1271.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1271 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1272.java b/jpa/deferred/src/main/java/example/model/Customer1272.java
index c340f153f..d7bb4e6e9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1272.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1272.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1272 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1273.java b/jpa/deferred/src/main/java/example/model/Customer1273.java
index a7bee2af7..529eeac62 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1273.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1273.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1273 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1274.java b/jpa/deferred/src/main/java/example/model/Customer1274.java
index 271cba6be..73e505963 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1274.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1274.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1274 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1275.java b/jpa/deferred/src/main/java/example/model/Customer1275.java
index 129997e37..701efd9dd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1275.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1275.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1275 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1276.java b/jpa/deferred/src/main/java/example/model/Customer1276.java
index 87383688b..04d34cd19 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1276.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1276.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1276 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1277.java b/jpa/deferred/src/main/java/example/model/Customer1277.java
index 8b6f01a8b..3ab677eea 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1277.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1277.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1277 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1278.java b/jpa/deferred/src/main/java/example/model/Customer1278.java
index 40efe791f..8d05b7ed4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1278.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1278.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1278 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1279.java b/jpa/deferred/src/main/java/example/model/Customer1279.java
index 58c2376c7..57f8cd48e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1279.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1279.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1279 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer128.java b/jpa/deferred/src/main/java/example/model/Customer128.java
index 135a66cc6..ebf065da0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer128.java
+++ b/jpa/deferred/src/main/java/example/model/Customer128.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer128 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1280.java b/jpa/deferred/src/main/java/example/model/Customer1280.java
index 5dcec1140..9f2b6c6f1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1280.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1280.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1280 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1281.java b/jpa/deferred/src/main/java/example/model/Customer1281.java
index f6398679a..426b4b6b5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1281.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1281.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1281 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1282.java b/jpa/deferred/src/main/java/example/model/Customer1282.java
index 975da5883..35e093894 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1282.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1282.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1282 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1283.java b/jpa/deferred/src/main/java/example/model/Customer1283.java
index 69ba9765d..5109879ae 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1283.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1283.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1283 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1284.java b/jpa/deferred/src/main/java/example/model/Customer1284.java
index 775dfabb9..6a4be407a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1284.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1284.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1284 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1285.java b/jpa/deferred/src/main/java/example/model/Customer1285.java
index 7f19063ff..07594c65f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1285.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1285.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1285 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1286.java b/jpa/deferred/src/main/java/example/model/Customer1286.java
index 60fc3713a..397e99c0a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1286.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1286.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1286 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1287.java b/jpa/deferred/src/main/java/example/model/Customer1287.java
index 5baf98c75..11cbe6705 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1287.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1287.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1287 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1288.java b/jpa/deferred/src/main/java/example/model/Customer1288.java
index fcf92464e..7ed885dbe 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1288.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1288.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1288 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1289.java b/jpa/deferred/src/main/java/example/model/Customer1289.java
index 8c29f28a5..0b0edeecd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1289.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1289.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1289 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer129.java b/jpa/deferred/src/main/java/example/model/Customer129.java
index e399dc657..0de47cd45 100644
--- a/jpa/deferred/src/main/java/example/model/Customer129.java
+++ b/jpa/deferred/src/main/java/example/model/Customer129.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer129 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1290.java b/jpa/deferred/src/main/java/example/model/Customer1290.java
index 19a150310..fb9f3e47e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1290.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1290.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1290 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1291.java b/jpa/deferred/src/main/java/example/model/Customer1291.java
index a3e025c1c..e1f72ad44 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1291.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1291.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1291 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1292.java b/jpa/deferred/src/main/java/example/model/Customer1292.java
index 81523c6f0..b9cd812f6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1292.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1292.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1292 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1293.java b/jpa/deferred/src/main/java/example/model/Customer1293.java
index 835cf2a6b..291c1e1c5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1293.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1293.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1293 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1294.java b/jpa/deferred/src/main/java/example/model/Customer1294.java
index 2cdb69052..9ecdf63ef 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1294.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1294.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1294 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1295.java b/jpa/deferred/src/main/java/example/model/Customer1295.java
index 2cb45f763..1d2e8f456 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1295.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1295.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1295 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1296.java b/jpa/deferred/src/main/java/example/model/Customer1296.java
index 76dc29fd0..ddbbfe663 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1296.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1296.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1296 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1297.java b/jpa/deferred/src/main/java/example/model/Customer1297.java
index df4f1d276..4e75aab7c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1297.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1297.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1297 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1298.java b/jpa/deferred/src/main/java/example/model/Customer1298.java
index 9bad49065..88943f267 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1298.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1298.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1298 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1299.java b/jpa/deferred/src/main/java/example/model/Customer1299.java
index beecfdfa4..2e644b1c0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1299.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1299.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1299 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer13.java b/jpa/deferred/src/main/java/example/model/Customer13.java
index f2cfd33c2..c6e1eb241 100644
--- a/jpa/deferred/src/main/java/example/model/Customer13.java
+++ b/jpa/deferred/src/main/java/example/model/Customer13.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer13 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer130.java b/jpa/deferred/src/main/java/example/model/Customer130.java
index 43aae0565..ee82e1986 100644
--- a/jpa/deferred/src/main/java/example/model/Customer130.java
+++ b/jpa/deferred/src/main/java/example/model/Customer130.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer130 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1300.java b/jpa/deferred/src/main/java/example/model/Customer1300.java
index 8ac085f4a..79d3a47f4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1300.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1300.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1300 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1301.java b/jpa/deferred/src/main/java/example/model/Customer1301.java
index 002402fee..5fe266721 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1301.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1301.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1301 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1302.java b/jpa/deferred/src/main/java/example/model/Customer1302.java
index 9862f932a..4dbcb4637 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1302.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1302.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1302 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1303.java b/jpa/deferred/src/main/java/example/model/Customer1303.java
index c5c006cda..cc5fc11e3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1303.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1303.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1303 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1304.java b/jpa/deferred/src/main/java/example/model/Customer1304.java
index f6ef54cbd..98fc70c04 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1304.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1304.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1304 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1305.java b/jpa/deferred/src/main/java/example/model/Customer1305.java
index 5c1bd32d1..d436a80ed 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1305.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1305.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1305 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1306.java b/jpa/deferred/src/main/java/example/model/Customer1306.java
index 048a3cfac..cbae76807 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1306.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1306.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1306 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1307.java b/jpa/deferred/src/main/java/example/model/Customer1307.java
index 184b4142a..d6ba07ae4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1307.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1307.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1307 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1308.java b/jpa/deferred/src/main/java/example/model/Customer1308.java
index f45e0a609..25c2737a0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1308.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1308.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1308 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1309.java b/jpa/deferred/src/main/java/example/model/Customer1309.java
index 2d62fb40f..e9bca909e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1309.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1309.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1309 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer131.java b/jpa/deferred/src/main/java/example/model/Customer131.java
index 100dc5b15..f365df52c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer131.java
+++ b/jpa/deferred/src/main/java/example/model/Customer131.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer131 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1310.java b/jpa/deferred/src/main/java/example/model/Customer1310.java
index cce8f3a3f..afe7cd4b3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1310.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1310.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1310 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1311.java b/jpa/deferred/src/main/java/example/model/Customer1311.java
index 0060003e5..cbc3d0976 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1311.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1311.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1311 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1312.java b/jpa/deferred/src/main/java/example/model/Customer1312.java
index 884887dce..50867ce26 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1312.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1312.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1312 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1313.java b/jpa/deferred/src/main/java/example/model/Customer1313.java
index 9620b9ac5..31dac2900 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1313.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1313.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1313 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1314.java b/jpa/deferred/src/main/java/example/model/Customer1314.java
index db9c8e7d5..7a6073acd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1314.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1314.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1314 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1315.java b/jpa/deferred/src/main/java/example/model/Customer1315.java
index ed12d6ac6..9e6c2d95d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1315.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1315.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1315 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1316.java b/jpa/deferred/src/main/java/example/model/Customer1316.java
index feaa72649..ad4684381 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1316.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1316.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1316 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1317.java b/jpa/deferred/src/main/java/example/model/Customer1317.java
index 88e2d1695..72ba1799f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1317.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1317.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1317 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1318.java b/jpa/deferred/src/main/java/example/model/Customer1318.java
index ce87f6e03..a96491071 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1318.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1318.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1318 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1319.java b/jpa/deferred/src/main/java/example/model/Customer1319.java
index 6e552d0b3..c2159e1bf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1319.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1319.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1319 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer132.java b/jpa/deferred/src/main/java/example/model/Customer132.java
index c17e35b14..285b49a0f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer132.java
+++ b/jpa/deferred/src/main/java/example/model/Customer132.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer132 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1320.java b/jpa/deferred/src/main/java/example/model/Customer1320.java
index 69114b691..10ebb4494 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1320.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1320.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1320 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1321.java b/jpa/deferred/src/main/java/example/model/Customer1321.java
index 9f7ce576d..e9a29f26c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1321.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1321.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1321 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1322.java b/jpa/deferred/src/main/java/example/model/Customer1322.java
index 889363519..dcb4b574e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1322.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1322.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1322 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1323.java b/jpa/deferred/src/main/java/example/model/Customer1323.java
index 62f68f1f3..9fae9e1e2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1323.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1323.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1323 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1324.java b/jpa/deferred/src/main/java/example/model/Customer1324.java
index 8cd24b599..771a36f3e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1324.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1324.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1324 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1325.java b/jpa/deferred/src/main/java/example/model/Customer1325.java
index 479a36ca6..c734af2c1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1325.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1325.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1325 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1326.java b/jpa/deferred/src/main/java/example/model/Customer1326.java
index 67c29ef6a..89b64137f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1326.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1326.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1326 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1327.java b/jpa/deferred/src/main/java/example/model/Customer1327.java
index 6e410488f..b215f6700 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1327.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1327.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1327 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1328.java b/jpa/deferred/src/main/java/example/model/Customer1328.java
index 7a84b3bbb..1c3d1240c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1328.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1328.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1328 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1329.java b/jpa/deferred/src/main/java/example/model/Customer1329.java
index e5d2e4408..a3089cb3d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1329.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1329.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1329 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer133.java b/jpa/deferred/src/main/java/example/model/Customer133.java
index 42c6fe9e9..c481f721f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer133.java
+++ b/jpa/deferred/src/main/java/example/model/Customer133.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer133 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1330.java b/jpa/deferred/src/main/java/example/model/Customer1330.java
index 94ae9185e..8a4a22702 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1330.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1330.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1330 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1331.java b/jpa/deferred/src/main/java/example/model/Customer1331.java
index f970c1ee4..7944ce80a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1331.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1331.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1331 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1332.java b/jpa/deferred/src/main/java/example/model/Customer1332.java
index b5ee403da..ab69acb7b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1332.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1332.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1332 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1333.java b/jpa/deferred/src/main/java/example/model/Customer1333.java
index 1424289f9..c3d35059d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1333.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1333.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1333 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1334.java b/jpa/deferred/src/main/java/example/model/Customer1334.java
index 0a5dcbb85..ca9911659 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1334.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1334.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1334 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1335.java b/jpa/deferred/src/main/java/example/model/Customer1335.java
index c32671704..2cdfc4f7a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1335.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1335.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1335 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1336.java b/jpa/deferred/src/main/java/example/model/Customer1336.java
index 6441da7e7..12a8343ee 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1336.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1336.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1336 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1337.java b/jpa/deferred/src/main/java/example/model/Customer1337.java
index a1caaf450..413468df8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1337.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1337.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1337 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1338.java b/jpa/deferred/src/main/java/example/model/Customer1338.java
index f11b2d882..140bcd805 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1338.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1338.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1338 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1339.java b/jpa/deferred/src/main/java/example/model/Customer1339.java
index 441db7a36..7ce275f07 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1339.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1339.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1339 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer134.java b/jpa/deferred/src/main/java/example/model/Customer134.java
index 4bc3b7d81..e6ca45a17 100644
--- a/jpa/deferred/src/main/java/example/model/Customer134.java
+++ b/jpa/deferred/src/main/java/example/model/Customer134.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer134 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1340.java b/jpa/deferred/src/main/java/example/model/Customer1340.java
index ba50e9978..2b7b846fb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1340.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1340.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1340 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1341.java b/jpa/deferred/src/main/java/example/model/Customer1341.java
index 66c5cce6a..436f25e4a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1341.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1341.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1341 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1342.java b/jpa/deferred/src/main/java/example/model/Customer1342.java
index 86fddb8d4..85ec8615c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1342.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1342.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1342 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1343.java b/jpa/deferred/src/main/java/example/model/Customer1343.java
index 863a9852d..33fa3a1c4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1343.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1343.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1343 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1344.java b/jpa/deferred/src/main/java/example/model/Customer1344.java
index e0043d097..9c87748f5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1344.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1344.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1344 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1345.java b/jpa/deferred/src/main/java/example/model/Customer1345.java
index 6e401734e..a649e10b5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1345.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1345.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1345 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1346.java b/jpa/deferred/src/main/java/example/model/Customer1346.java
index a41abaa5f..94d41f427 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1346.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1346.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1346 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1347.java b/jpa/deferred/src/main/java/example/model/Customer1347.java
index c15faa5f4..ea0b2312e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1347.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1347.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1347 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1348.java b/jpa/deferred/src/main/java/example/model/Customer1348.java
index f27f99fa6..47624f1ea 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1348.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1348.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1348 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1349.java b/jpa/deferred/src/main/java/example/model/Customer1349.java
index fe52e21d9..3c56d5936 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1349.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1349.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1349 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer135.java b/jpa/deferred/src/main/java/example/model/Customer135.java
index 5d4c1e10d..04c712e6c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer135.java
+++ b/jpa/deferred/src/main/java/example/model/Customer135.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer135 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1350.java b/jpa/deferred/src/main/java/example/model/Customer1350.java
index 8cd89f299..4430397da 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1350.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1350.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1350 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1351.java b/jpa/deferred/src/main/java/example/model/Customer1351.java
index 808c61032..9fd00748c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1351.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1351.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1351 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1352.java b/jpa/deferred/src/main/java/example/model/Customer1352.java
index 2d9b435d8..8695f8014 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1352.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1352.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1352 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1353.java b/jpa/deferred/src/main/java/example/model/Customer1353.java
index 8c9f1cfc4..0f3f6340d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1353.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1353.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1353 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1354.java b/jpa/deferred/src/main/java/example/model/Customer1354.java
index 8f96935ff..861476b40 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1354.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1354.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1354 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1355.java b/jpa/deferred/src/main/java/example/model/Customer1355.java
index eb856957b..5ca6749b5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1355.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1355.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1355 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1356.java b/jpa/deferred/src/main/java/example/model/Customer1356.java
index e119f679e..045572938 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1356.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1356.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1356 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1357.java b/jpa/deferred/src/main/java/example/model/Customer1357.java
index c068211fb..c67440bb2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1357.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1357.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1357 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1358.java b/jpa/deferred/src/main/java/example/model/Customer1358.java
index 6f5b3254c..dec36a754 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1358.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1358.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1358 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1359.java b/jpa/deferred/src/main/java/example/model/Customer1359.java
index 1b4b6b2d5..7810522a1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1359.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1359.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1359 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer136.java b/jpa/deferred/src/main/java/example/model/Customer136.java
index 778ac0b04..085bc53ee 100644
--- a/jpa/deferred/src/main/java/example/model/Customer136.java
+++ b/jpa/deferred/src/main/java/example/model/Customer136.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer136 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1360.java b/jpa/deferred/src/main/java/example/model/Customer1360.java
index dc35758bf..4eb4ad2fb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1360.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1360.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1360 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1361.java b/jpa/deferred/src/main/java/example/model/Customer1361.java
index b1c579bce..6c4bdf9f1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1361.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1361.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1361 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1362.java b/jpa/deferred/src/main/java/example/model/Customer1362.java
index abb2225d1..e79377ead 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1362.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1362.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1362 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1363.java b/jpa/deferred/src/main/java/example/model/Customer1363.java
index f8b496036..6586b0b59 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1363.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1363.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1363 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1364.java b/jpa/deferred/src/main/java/example/model/Customer1364.java
index e4992f605..f855b31ac 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1364.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1364.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1364 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1365.java b/jpa/deferred/src/main/java/example/model/Customer1365.java
index 62b559b8f..d3b0e4319 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1365.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1365.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1365 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1366.java b/jpa/deferred/src/main/java/example/model/Customer1366.java
index 6abb030cf..5f14768e6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1366.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1366.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1366 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1367.java b/jpa/deferred/src/main/java/example/model/Customer1367.java
index 6f6b0ef08..c6aa6ced9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1367.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1367.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1367 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1368.java b/jpa/deferred/src/main/java/example/model/Customer1368.java
index 97bd8433f..2dcc9b988 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1368.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1368.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1368 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1369.java b/jpa/deferred/src/main/java/example/model/Customer1369.java
index 4bf833518..0f012f848 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1369.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1369.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1369 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer137.java b/jpa/deferred/src/main/java/example/model/Customer137.java
index 522fb4a80..3ad7ddd7e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer137.java
+++ b/jpa/deferred/src/main/java/example/model/Customer137.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer137 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1370.java b/jpa/deferred/src/main/java/example/model/Customer1370.java
index c64b71ea2..5974df135 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1370.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1370.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1370 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1371.java b/jpa/deferred/src/main/java/example/model/Customer1371.java
index bb7a0104c..9bd65906f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1371.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1371.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1371 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1372.java b/jpa/deferred/src/main/java/example/model/Customer1372.java
index 4236d507b..4685015bf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1372.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1372.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1372 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1373.java b/jpa/deferred/src/main/java/example/model/Customer1373.java
index a26beed0b..be8e79dfc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1373.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1373.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1373 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1374.java b/jpa/deferred/src/main/java/example/model/Customer1374.java
index e57fa835c..6569aa2df 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1374.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1374.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1374 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1375.java b/jpa/deferred/src/main/java/example/model/Customer1375.java
index 66afa6134..4d0c2a994 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1375.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1375.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1375 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1376.java b/jpa/deferred/src/main/java/example/model/Customer1376.java
index 9a060f722..70de8cdf1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1376.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1376.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1376 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1377.java b/jpa/deferred/src/main/java/example/model/Customer1377.java
index 05e8ce7a6..a74ddd1af 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1377.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1377.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1377 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1378.java b/jpa/deferred/src/main/java/example/model/Customer1378.java
index 488eb2d56..75a6ee0b2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1378.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1378.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1378 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1379.java b/jpa/deferred/src/main/java/example/model/Customer1379.java
index a198b71ab..5d8b1564b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1379.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1379.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1379 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer138.java b/jpa/deferred/src/main/java/example/model/Customer138.java
index a2f83d734..9f9276bfa 100644
--- a/jpa/deferred/src/main/java/example/model/Customer138.java
+++ b/jpa/deferred/src/main/java/example/model/Customer138.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer138 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1380.java b/jpa/deferred/src/main/java/example/model/Customer1380.java
index b48e02284..af8e4396d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1380.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1380.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1380 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1381.java b/jpa/deferred/src/main/java/example/model/Customer1381.java
index ddde3d1ea..004d6d04b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1381.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1381.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1381 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1382.java b/jpa/deferred/src/main/java/example/model/Customer1382.java
index 2153cdad7..51a463498 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1382.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1382.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1382 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1383.java b/jpa/deferred/src/main/java/example/model/Customer1383.java
index cedfea1b6..6e60c99ec 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1383.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1383.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1383 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1384.java b/jpa/deferred/src/main/java/example/model/Customer1384.java
index 096ecf601..5e63b36d1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1384.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1384.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1384 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1385.java b/jpa/deferred/src/main/java/example/model/Customer1385.java
index ebb6134df..c5c92f2c5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1385.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1385.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1385 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1386.java b/jpa/deferred/src/main/java/example/model/Customer1386.java
index b83f5d5a4..637a98e42 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1386.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1386.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1386 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1387.java b/jpa/deferred/src/main/java/example/model/Customer1387.java
index ee965457f..feb626c08 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1387.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1387.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1387 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1388.java b/jpa/deferred/src/main/java/example/model/Customer1388.java
index 36e5d1d78..6f8d0c8d4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1388.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1388.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1388 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1389.java b/jpa/deferred/src/main/java/example/model/Customer1389.java
index 100747049..13ee6dda7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1389.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1389.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1389 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer139.java b/jpa/deferred/src/main/java/example/model/Customer139.java
index 6dd177869..f355b20d0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer139.java
+++ b/jpa/deferred/src/main/java/example/model/Customer139.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer139 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1390.java b/jpa/deferred/src/main/java/example/model/Customer1390.java
index b050eba71..058df0c9f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1390.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1390.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1390 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1391.java b/jpa/deferred/src/main/java/example/model/Customer1391.java
index 2262e1878..c691aa460 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1391.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1391.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1391 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1392.java b/jpa/deferred/src/main/java/example/model/Customer1392.java
index d4fb3af98..4007a2b41 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1392.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1392.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1392 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1393.java b/jpa/deferred/src/main/java/example/model/Customer1393.java
index 733baea70..131137646 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1393.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1393.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1393 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1394.java b/jpa/deferred/src/main/java/example/model/Customer1394.java
index 1b1f59874..eaca1891d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1394.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1394.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1394 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1395.java b/jpa/deferred/src/main/java/example/model/Customer1395.java
index c942bc7b8..61c158813 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1395.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1395.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1395 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1396.java b/jpa/deferred/src/main/java/example/model/Customer1396.java
index ceefe5d03..81220c901 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1396.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1396.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1396 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1397.java b/jpa/deferred/src/main/java/example/model/Customer1397.java
index cb272abe6..52671da24 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1397.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1397.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1397 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1398.java b/jpa/deferred/src/main/java/example/model/Customer1398.java
index e192b560b..6a5b64934 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1398.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1398.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1398 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1399.java b/jpa/deferred/src/main/java/example/model/Customer1399.java
index d84a6aecd..826306bf8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1399.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1399.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1399 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer14.java b/jpa/deferred/src/main/java/example/model/Customer14.java
index ea821c036..4c2577b32 100644
--- a/jpa/deferred/src/main/java/example/model/Customer14.java
+++ b/jpa/deferred/src/main/java/example/model/Customer14.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer14 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer140.java b/jpa/deferred/src/main/java/example/model/Customer140.java
index 6da45784e..3dbb11b06 100644
--- a/jpa/deferred/src/main/java/example/model/Customer140.java
+++ b/jpa/deferred/src/main/java/example/model/Customer140.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer140 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1400.java b/jpa/deferred/src/main/java/example/model/Customer1400.java
index 2d81af2f5..ca14a46bf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1400.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1400.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1400 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1401.java b/jpa/deferred/src/main/java/example/model/Customer1401.java
index 43d416a0f..7cf90e077 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1401.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1401.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1401 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1402.java b/jpa/deferred/src/main/java/example/model/Customer1402.java
index d23ba41e9..7bd8d6437 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1402.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1402.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1402 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1403.java b/jpa/deferred/src/main/java/example/model/Customer1403.java
index 421202019..5daf191e4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1403.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1403.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1403 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1404.java b/jpa/deferred/src/main/java/example/model/Customer1404.java
index 2b3144949..809a8d762 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1404.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1404.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1404 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1405.java b/jpa/deferred/src/main/java/example/model/Customer1405.java
index 08e077ab6..cd65804dd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1405.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1405.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1405 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1406.java b/jpa/deferred/src/main/java/example/model/Customer1406.java
index 6803a6c40..6ddcb31c1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1406.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1406.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1406 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1407.java b/jpa/deferred/src/main/java/example/model/Customer1407.java
index cac934b4f..26fe3aee7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1407.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1407.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1407 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1408.java b/jpa/deferred/src/main/java/example/model/Customer1408.java
index cbe1f433a..d1060c6d3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1408.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1408.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1408 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1409.java b/jpa/deferred/src/main/java/example/model/Customer1409.java
index bd1689d8f..65363bd68 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1409.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1409.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1409 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer141.java b/jpa/deferred/src/main/java/example/model/Customer141.java
index dcd6368be..f7db688ec 100644
--- a/jpa/deferred/src/main/java/example/model/Customer141.java
+++ b/jpa/deferred/src/main/java/example/model/Customer141.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer141 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1410.java b/jpa/deferred/src/main/java/example/model/Customer1410.java
index e6262bb2f..18689c948 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1410.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1410.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1410 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1411.java b/jpa/deferred/src/main/java/example/model/Customer1411.java
index 1f638cf8d..49937e166 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1411.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1411.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1411 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1412.java b/jpa/deferred/src/main/java/example/model/Customer1412.java
index 072846db3..87e5f6cb6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1412.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1412.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1412 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1413.java b/jpa/deferred/src/main/java/example/model/Customer1413.java
index b34b9179b..fe73befcb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1413.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1413.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1413 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1414.java b/jpa/deferred/src/main/java/example/model/Customer1414.java
index a9404465b..9e0e6c793 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1414.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1414.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1414 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1415.java b/jpa/deferred/src/main/java/example/model/Customer1415.java
index e5340f20c..2bf46db35 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1415.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1415.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1415 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1416.java b/jpa/deferred/src/main/java/example/model/Customer1416.java
index 1e428912d..30b0e165d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1416.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1416.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1416 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1417.java b/jpa/deferred/src/main/java/example/model/Customer1417.java
index 59aefd8a6..52763e5c9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1417.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1417.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1417 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1418.java b/jpa/deferred/src/main/java/example/model/Customer1418.java
index 77a6db6d1..c5abc0e75 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1418.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1418.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1418 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1419.java b/jpa/deferred/src/main/java/example/model/Customer1419.java
index f0a88445d..87ab31d3b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1419.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1419.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1419 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer142.java b/jpa/deferred/src/main/java/example/model/Customer142.java
index 44a74d513..b61ce2355 100644
--- a/jpa/deferred/src/main/java/example/model/Customer142.java
+++ b/jpa/deferred/src/main/java/example/model/Customer142.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer142 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1420.java b/jpa/deferred/src/main/java/example/model/Customer1420.java
index c81d4fad1..9d4cc52c5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1420.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1420.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1420 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1421.java b/jpa/deferred/src/main/java/example/model/Customer1421.java
index 90e374bd4..5b1cecf74 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1421.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1421.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1421 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1422.java b/jpa/deferred/src/main/java/example/model/Customer1422.java
index a1b030877..010fd40c6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1422.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1422.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1422 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1423.java b/jpa/deferred/src/main/java/example/model/Customer1423.java
index 20edb3911..f53e08a89 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1423.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1423.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1423 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1424.java b/jpa/deferred/src/main/java/example/model/Customer1424.java
index c6334d47a..3dd08085b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1424.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1424.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1424 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1425.java b/jpa/deferred/src/main/java/example/model/Customer1425.java
index 1244c7266..85d262232 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1425.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1425.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1425 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1426.java b/jpa/deferred/src/main/java/example/model/Customer1426.java
index a7183689a..e8c150a0c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1426.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1426.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1426 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1427.java b/jpa/deferred/src/main/java/example/model/Customer1427.java
index 299ca8db4..609536929 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1427.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1427.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1427 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1428.java b/jpa/deferred/src/main/java/example/model/Customer1428.java
index 03c483014..9a7887c88 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1428.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1428.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1428 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1429.java b/jpa/deferred/src/main/java/example/model/Customer1429.java
index 687b1c3ff..a2626d1a0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1429.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1429.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1429 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer143.java b/jpa/deferred/src/main/java/example/model/Customer143.java
index 09dda3788..e142e18f6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer143.java
+++ b/jpa/deferred/src/main/java/example/model/Customer143.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer143 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1430.java b/jpa/deferred/src/main/java/example/model/Customer1430.java
index 3155cdcc0..8c244435c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1430.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1430.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1430 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1431.java b/jpa/deferred/src/main/java/example/model/Customer1431.java
index dd1e03ff8..a0e5dce42 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1431.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1431.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1431 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1432.java b/jpa/deferred/src/main/java/example/model/Customer1432.java
index 2e3f47fb7..c47968295 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1432.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1432.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1432 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1433.java b/jpa/deferred/src/main/java/example/model/Customer1433.java
index 5c6e8686a..096c12ef4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1433.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1433.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1433 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1434.java b/jpa/deferred/src/main/java/example/model/Customer1434.java
index 96ee999c6..ed5d11077 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1434.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1434.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1434 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1435.java b/jpa/deferred/src/main/java/example/model/Customer1435.java
index 5455b5ae3..bdff0b1df 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1435.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1435.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1435 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1436.java b/jpa/deferred/src/main/java/example/model/Customer1436.java
index 92ceac0d6..b490bc056 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1436.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1436.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1436 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1437.java b/jpa/deferred/src/main/java/example/model/Customer1437.java
index 58cc4db04..dac1594eb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1437.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1437.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1437 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1438.java b/jpa/deferred/src/main/java/example/model/Customer1438.java
index c475b751e..1d004d6e1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1438.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1438.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1438 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1439.java b/jpa/deferred/src/main/java/example/model/Customer1439.java
index 399e41980..91d0a4a64 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1439.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1439.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1439 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer144.java b/jpa/deferred/src/main/java/example/model/Customer144.java
index e39d57d32..07d8fb05c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer144.java
+++ b/jpa/deferred/src/main/java/example/model/Customer144.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer144 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1440.java b/jpa/deferred/src/main/java/example/model/Customer1440.java
index 34d663d4c..350e5830c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1440.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1440.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1440 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1441.java b/jpa/deferred/src/main/java/example/model/Customer1441.java
index 4e755a8fe..fe08ab655 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1441.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1441.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1441 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1442.java b/jpa/deferred/src/main/java/example/model/Customer1442.java
index 198cc57c7..cece543a0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1442.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1442.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1442 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1443.java b/jpa/deferred/src/main/java/example/model/Customer1443.java
index 76b05f0f2..21eb02b5c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1443.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1443.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1443 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1444.java b/jpa/deferred/src/main/java/example/model/Customer1444.java
index 94ded1661..8a23d570e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1444.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1444.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1444 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1445.java b/jpa/deferred/src/main/java/example/model/Customer1445.java
index 216178944..d61408762 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1445.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1445.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1445 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1446.java b/jpa/deferred/src/main/java/example/model/Customer1446.java
index e2a5bf2a3..122341e60 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1446.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1446.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1446 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1447.java b/jpa/deferred/src/main/java/example/model/Customer1447.java
index 30df56620..8d3761a9d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1447.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1447.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1447 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1448.java b/jpa/deferred/src/main/java/example/model/Customer1448.java
index db0c7bc8b..47e71de76 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1448.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1448.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1448 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1449.java b/jpa/deferred/src/main/java/example/model/Customer1449.java
index 4e79278cb..0734f9874 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1449.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1449.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1449 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer145.java b/jpa/deferred/src/main/java/example/model/Customer145.java
index b8f4bd80b..3a13093cc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer145.java
+++ b/jpa/deferred/src/main/java/example/model/Customer145.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer145 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1450.java b/jpa/deferred/src/main/java/example/model/Customer1450.java
index b63f5d285..87bb51ece 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1450.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1450.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1450 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1451.java b/jpa/deferred/src/main/java/example/model/Customer1451.java
index a070a2133..b4487e579 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1451.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1451.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1451 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1452.java b/jpa/deferred/src/main/java/example/model/Customer1452.java
index 41c5a527b..2bb21bc84 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1452.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1452.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1452 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1453.java b/jpa/deferred/src/main/java/example/model/Customer1453.java
index 9bfd0f5f8..32da349b1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1453.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1453.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1453 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1454.java b/jpa/deferred/src/main/java/example/model/Customer1454.java
index b78b719ab..3a9fd95b5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1454.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1454.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1454 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1455.java b/jpa/deferred/src/main/java/example/model/Customer1455.java
index 79b6ca34a..84f24752a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1455.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1455.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1455 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1456.java b/jpa/deferred/src/main/java/example/model/Customer1456.java
index f2eab407c..e23f4c895 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1456.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1456.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1456 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1457.java b/jpa/deferred/src/main/java/example/model/Customer1457.java
index d553243b5..caca30d49 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1457.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1457.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1457 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1458.java b/jpa/deferred/src/main/java/example/model/Customer1458.java
index 36f81cc78..25c5eac35 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1458.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1458.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1458 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1459.java b/jpa/deferred/src/main/java/example/model/Customer1459.java
index 28037ee23..6af30b5c6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1459.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1459.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1459 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer146.java b/jpa/deferred/src/main/java/example/model/Customer146.java
index 24454cd1c..7f404ce15 100644
--- a/jpa/deferred/src/main/java/example/model/Customer146.java
+++ b/jpa/deferred/src/main/java/example/model/Customer146.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer146 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1460.java b/jpa/deferred/src/main/java/example/model/Customer1460.java
index c5a150a55..ff49c7e31 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1460.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1460.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1460 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1461.java b/jpa/deferred/src/main/java/example/model/Customer1461.java
index 9f63f572f..41ced3a70 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1461.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1461.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1461 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1462.java b/jpa/deferred/src/main/java/example/model/Customer1462.java
index ca384f43c..8da8d9333 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1462.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1462.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1462 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1463.java b/jpa/deferred/src/main/java/example/model/Customer1463.java
index cae3cdc86..aea6018eb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1463.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1463.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1463 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1464.java b/jpa/deferred/src/main/java/example/model/Customer1464.java
index c763a1505..9a6a667e7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1464.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1464.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1464 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1465.java b/jpa/deferred/src/main/java/example/model/Customer1465.java
index a48b19248..eac8b5f66 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1465.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1465.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1465 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1466.java b/jpa/deferred/src/main/java/example/model/Customer1466.java
index 25f9b0ee7..b418bed32 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1466.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1466.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1466 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1467.java b/jpa/deferred/src/main/java/example/model/Customer1467.java
index 68c3ebe0e..76ca0c223 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1467.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1467.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1467 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1468.java b/jpa/deferred/src/main/java/example/model/Customer1468.java
index 53aec4529..742c52522 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1468.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1468.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1468 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1469.java b/jpa/deferred/src/main/java/example/model/Customer1469.java
index b198bff3a..51c9ff085 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1469.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1469.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1469 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer147.java b/jpa/deferred/src/main/java/example/model/Customer147.java
index ba0371331..f0c6721d7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer147.java
+++ b/jpa/deferred/src/main/java/example/model/Customer147.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer147 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1470.java b/jpa/deferred/src/main/java/example/model/Customer1470.java
index a960936cf..be774ca6d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1470.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1470.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1470 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1471.java b/jpa/deferred/src/main/java/example/model/Customer1471.java
index a9870e456..639ccdfaa 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1471.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1471.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1471 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1472.java b/jpa/deferred/src/main/java/example/model/Customer1472.java
index b315f8295..8895bec18 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1472.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1472.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1472 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1473.java b/jpa/deferred/src/main/java/example/model/Customer1473.java
index 2f8c35f39..035e5e8c9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1473.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1473.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1473 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1474.java b/jpa/deferred/src/main/java/example/model/Customer1474.java
index 38a860f79..3631611f0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1474.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1474.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1474 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1475.java b/jpa/deferred/src/main/java/example/model/Customer1475.java
index 683ba1055..835803cf0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1475.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1475.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1475 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1476.java b/jpa/deferred/src/main/java/example/model/Customer1476.java
index e8c24ed2e..038fc1a04 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1476.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1476.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1476 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1477.java b/jpa/deferred/src/main/java/example/model/Customer1477.java
index 6f4b4a4ba..801482beb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1477.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1477.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1477 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1478.java b/jpa/deferred/src/main/java/example/model/Customer1478.java
index 4361f526c..e2cc3ae26 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1478.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1478.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1478 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1479.java b/jpa/deferred/src/main/java/example/model/Customer1479.java
index 2e2fdae82..bb1461eb0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1479.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1479.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1479 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer148.java b/jpa/deferred/src/main/java/example/model/Customer148.java
index 5735f56c4..4a839fb6f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer148.java
+++ b/jpa/deferred/src/main/java/example/model/Customer148.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer148 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1480.java b/jpa/deferred/src/main/java/example/model/Customer1480.java
index e79e49a99..44519904d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1480.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1480.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1480 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1481.java b/jpa/deferred/src/main/java/example/model/Customer1481.java
index d5a8d8a1b..46d5a4068 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1481.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1481.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1481 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1482.java b/jpa/deferred/src/main/java/example/model/Customer1482.java
index 2c29ff9a6..4032ccfb1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1482.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1482.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1482 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1483.java b/jpa/deferred/src/main/java/example/model/Customer1483.java
index 15371ae14..71a073cbf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1483.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1483.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1483 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1484.java b/jpa/deferred/src/main/java/example/model/Customer1484.java
index 195dcd024..63ae95770 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1484.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1484.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1484 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1485.java b/jpa/deferred/src/main/java/example/model/Customer1485.java
index 10b9c7b63..cc376b9d7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1485.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1485.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1485 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1486.java b/jpa/deferred/src/main/java/example/model/Customer1486.java
index 27688de28..a9fa3bff5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1486.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1486.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1486 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1487.java b/jpa/deferred/src/main/java/example/model/Customer1487.java
index a86196996..4bbaf72fe 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1487.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1487.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1487 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1488.java b/jpa/deferred/src/main/java/example/model/Customer1488.java
index 3801c7801..a132fc912 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1488.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1488.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1488 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1489.java b/jpa/deferred/src/main/java/example/model/Customer1489.java
index ac0d426c9..3b3baf895 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1489.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1489.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1489 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer149.java b/jpa/deferred/src/main/java/example/model/Customer149.java
index cffcdfb8a..92e794ca0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer149.java
+++ b/jpa/deferred/src/main/java/example/model/Customer149.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer149 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1490.java b/jpa/deferred/src/main/java/example/model/Customer1490.java
index ed857a1f4..2f6c9107a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1490.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1490.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1490 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1491.java b/jpa/deferred/src/main/java/example/model/Customer1491.java
index 9408a5c9c..6228a080f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1491.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1491.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1491 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1492.java b/jpa/deferred/src/main/java/example/model/Customer1492.java
index 3a403d514..25a8dee0a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1492.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1492.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1492 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1493.java b/jpa/deferred/src/main/java/example/model/Customer1493.java
index d853847bd..5dd851934 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1493.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1493.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1493 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1494.java b/jpa/deferred/src/main/java/example/model/Customer1494.java
index 1c5fcb0f3..44e5d97bf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1494.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1494.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1494 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1495.java b/jpa/deferred/src/main/java/example/model/Customer1495.java
index a7fc1e528..da0a2479d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1495.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1495.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1495 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1496.java b/jpa/deferred/src/main/java/example/model/Customer1496.java
index 777cd79a0..fe3394dbc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1496.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1496.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1496 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1497.java b/jpa/deferred/src/main/java/example/model/Customer1497.java
index 0f3a48a03..72431c9c1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1497.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1497.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1497 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1498.java b/jpa/deferred/src/main/java/example/model/Customer1498.java
index 212a66ade..797f3189f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1498.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1498.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1498 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1499.java b/jpa/deferred/src/main/java/example/model/Customer1499.java
index 0c3931736..715aff908 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1499.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1499.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1499 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer15.java b/jpa/deferred/src/main/java/example/model/Customer15.java
index a33cec992..66f25d0ae 100644
--- a/jpa/deferred/src/main/java/example/model/Customer15.java
+++ b/jpa/deferred/src/main/java/example/model/Customer15.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer15 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer150.java b/jpa/deferred/src/main/java/example/model/Customer150.java
index bde218ba2..104c80390 100644
--- a/jpa/deferred/src/main/java/example/model/Customer150.java
+++ b/jpa/deferred/src/main/java/example/model/Customer150.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer150 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1500.java b/jpa/deferred/src/main/java/example/model/Customer1500.java
index 2a1251711..4f42e0646 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1500.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1500.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1500 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1501.java b/jpa/deferred/src/main/java/example/model/Customer1501.java
index 07dc4d783..fa32f4749 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1501.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1501.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1501 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1502.java b/jpa/deferred/src/main/java/example/model/Customer1502.java
index 2a6cdbffb..7964ead9c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1502.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1502.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1502 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1503.java b/jpa/deferred/src/main/java/example/model/Customer1503.java
index 338802530..afa769cfd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1503.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1503.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1503 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1504.java b/jpa/deferred/src/main/java/example/model/Customer1504.java
index 78ae1c67f..1fd0df169 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1504.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1504.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1504 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1505.java b/jpa/deferred/src/main/java/example/model/Customer1505.java
index 52de9886a..51f21ddd2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1505.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1505.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1505 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1506.java b/jpa/deferred/src/main/java/example/model/Customer1506.java
index 5ffd1517c..8c4865cfb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1506.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1506.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1506 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1507.java b/jpa/deferred/src/main/java/example/model/Customer1507.java
index 8f95a6679..8e6e49cd1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1507.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1507.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1507 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1508.java b/jpa/deferred/src/main/java/example/model/Customer1508.java
index 38e81975f..c12302ce4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1508.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1508.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1508 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1509.java b/jpa/deferred/src/main/java/example/model/Customer1509.java
index aaf52bbde..5455bfab5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1509.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1509.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1509 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer151.java b/jpa/deferred/src/main/java/example/model/Customer151.java
index 1e506f744..66b4562b7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer151.java
+++ b/jpa/deferred/src/main/java/example/model/Customer151.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer151 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1510.java b/jpa/deferred/src/main/java/example/model/Customer1510.java
index 41fda2c6e..3f4cf8556 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1510.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1510.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1510 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1511.java b/jpa/deferred/src/main/java/example/model/Customer1511.java
index 0d90bb417..0e3f594b8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1511.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1511.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1511 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1512.java b/jpa/deferred/src/main/java/example/model/Customer1512.java
index b03edf1ea..822a9de45 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1512.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1512.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1512 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1513.java b/jpa/deferred/src/main/java/example/model/Customer1513.java
index ba5ba366a..b1ef7e85e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1513.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1513.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1513 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1514.java b/jpa/deferred/src/main/java/example/model/Customer1514.java
index 506f0c804..a3560cea3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1514.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1514.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1514 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1515.java b/jpa/deferred/src/main/java/example/model/Customer1515.java
index 3a99267e7..7cc7ed01e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1515.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1515.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1515 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1516.java b/jpa/deferred/src/main/java/example/model/Customer1516.java
index 0f9e078a5..b347f52f1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1516.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1516.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1516 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1517.java b/jpa/deferred/src/main/java/example/model/Customer1517.java
index 54d8a034d..6b8b2c010 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1517.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1517.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1517 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1518.java b/jpa/deferred/src/main/java/example/model/Customer1518.java
index 389001ab9..8ec662068 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1518.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1518.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1518 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1519.java b/jpa/deferred/src/main/java/example/model/Customer1519.java
index 8076824b0..c4326bacc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1519.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1519.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1519 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer152.java b/jpa/deferred/src/main/java/example/model/Customer152.java
index 55431d2d2..37c39e0c3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer152.java
+++ b/jpa/deferred/src/main/java/example/model/Customer152.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer152 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1520.java b/jpa/deferred/src/main/java/example/model/Customer1520.java
index 8006494b5..7d72e5be2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1520.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1520.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1520 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1521.java b/jpa/deferred/src/main/java/example/model/Customer1521.java
index d9d5c3a5b..d0bc2c4aa 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1521.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1521.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1521 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1522.java b/jpa/deferred/src/main/java/example/model/Customer1522.java
index dce825710..bde30da39 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1522.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1522.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1522 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1523.java b/jpa/deferred/src/main/java/example/model/Customer1523.java
index 201acaf05..ede811afa 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1523.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1523.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1523 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1524.java b/jpa/deferred/src/main/java/example/model/Customer1524.java
index a5a042779..e5639dab0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1524.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1524.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1524 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1525.java b/jpa/deferred/src/main/java/example/model/Customer1525.java
index fac99bca8..617bfc0e7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1525.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1525.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1525 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1526.java b/jpa/deferred/src/main/java/example/model/Customer1526.java
index 27773c21f..e3d76d12e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1526.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1526.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1526 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1527.java b/jpa/deferred/src/main/java/example/model/Customer1527.java
index ed94e12aa..e4ec2f0e5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1527.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1527.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1527 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1528.java b/jpa/deferred/src/main/java/example/model/Customer1528.java
index 4d528bb77..b0ea156af 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1528.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1528.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1528 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1529.java b/jpa/deferred/src/main/java/example/model/Customer1529.java
index 684b19033..587dfd6d9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1529.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1529.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1529 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer153.java b/jpa/deferred/src/main/java/example/model/Customer153.java
index b46231839..3f0c79db6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer153.java
+++ b/jpa/deferred/src/main/java/example/model/Customer153.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer153 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1530.java b/jpa/deferred/src/main/java/example/model/Customer1530.java
index dba8f55be..76439f9a0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1530.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1530.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1530 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1531.java b/jpa/deferred/src/main/java/example/model/Customer1531.java
index 665725997..ffc4c8ee6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1531.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1531.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1531 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1532.java b/jpa/deferred/src/main/java/example/model/Customer1532.java
index 64ab4e6b8..3e4065486 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1532.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1532.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1532 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1533.java b/jpa/deferred/src/main/java/example/model/Customer1533.java
index 8f2a4fe26..40f0df925 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1533.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1533.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1533 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1534.java b/jpa/deferred/src/main/java/example/model/Customer1534.java
index 32cdfa467..02289d7d7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1534.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1534.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1534 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1535.java b/jpa/deferred/src/main/java/example/model/Customer1535.java
index 7dc956b52..ea7c22b02 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1535.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1535.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1535 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1536.java b/jpa/deferred/src/main/java/example/model/Customer1536.java
index ce6f9fbd9..5e83f8549 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1536.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1536.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1536 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1537.java b/jpa/deferred/src/main/java/example/model/Customer1537.java
index e4d8b6345..5f142b6cf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1537.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1537.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1537 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1538.java b/jpa/deferred/src/main/java/example/model/Customer1538.java
index 7e1fdcdb3..667dee042 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1538.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1538.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1538 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1539.java b/jpa/deferred/src/main/java/example/model/Customer1539.java
index a8ab68bae..4fda3edfe 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1539.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1539.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1539 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer154.java b/jpa/deferred/src/main/java/example/model/Customer154.java
index 0cda23baf..ba0308fba 100644
--- a/jpa/deferred/src/main/java/example/model/Customer154.java
+++ b/jpa/deferred/src/main/java/example/model/Customer154.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer154 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1540.java b/jpa/deferred/src/main/java/example/model/Customer1540.java
index 6cd7b9e92..0af6f7915 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1540.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1540.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1540 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1541.java b/jpa/deferred/src/main/java/example/model/Customer1541.java
index 68b3fc891..4c513bccf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1541.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1541.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1541 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1542.java b/jpa/deferred/src/main/java/example/model/Customer1542.java
index 189f23f38..ad67edfa2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1542.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1542.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1542 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1543.java b/jpa/deferred/src/main/java/example/model/Customer1543.java
index 537ffd045..df6b9831a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1543.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1543.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1543 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1544.java b/jpa/deferred/src/main/java/example/model/Customer1544.java
index 934c18721..85f874f92 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1544.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1544.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1544 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1545.java b/jpa/deferred/src/main/java/example/model/Customer1545.java
index 0af95e84b..11b3c32b8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1545.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1545.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1545 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1546.java b/jpa/deferred/src/main/java/example/model/Customer1546.java
index 147a28fc6..34a96c9b5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1546.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1546.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1546 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1547.java b/jpa/deferred/src/main/java/example/model/Customer1547.java
index e84b6ba07..52593fbfd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1547.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1547.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1547 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1548.java b/jpa/deferred/src/main/java/example/model/Customer1548.java
index d684008f7..575dd657c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1548.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1548.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1548 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1549.java b/jpa/deferred/src/main/java/example/model/Customer1549.java
index 2c728cc46..0d8c42e19 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1549.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1549.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1549 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer155.java b/jpa/deferred/src/main/java/example/model/Customer155.java
index 6be16d239..d57cf21b2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer155.java
+++ b/jpa/deferred/src/main/java/example/model/Customer155.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer155 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1550.java b/jpa/deferred/src/main/java/example/model/Customer1550.java
index 0b32a34cb..0affce9ad 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1550.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1550.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1550 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1551.java b/jpa/deferred/src/main/java/example/model/Customer1551.java
index cae6436cd..8e2629a20 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1551.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1551.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1551 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1552.java b/jpa/deferred/src/main/java/example/model/Customer1552.java
index ce162e5db..762a3f3eb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1552.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1552.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1552 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1553.java b/jpa/deferred/src/main/java/example/model/Customer1553.java
index a6f6ab2b1..2cad988d7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1553.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1553.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1553 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1554.java b/jpa/deferred/src/main/java/example/model/Customer1554.java
index 98510f3ea..05e70c027 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1554.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1554.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1554 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1555.java b/jpa/deferred/src/main/java/example/model/Customer1555.java
index 99c091861..a2b84ed88 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1555.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1555.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1555 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1556.java b/jpa/deferred/src/main/java/example/model/Customer1556.java
index 55054c39c..d06a6bd2a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1556.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1556.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1556 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1557.java b/jpa/deferred/src/main/java/example/model/Customer1557.java
index 0fb5b0d17..1622ed93d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1557.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1557.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1557 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1558.java b/jpa/deferred/src/main/java/example/model/Customer1558.java
index 43a87b7a4..831031ba8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1558.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1558.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1558 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1559.java b/jpa/deferred/src/main/java/example/model/Customer1559.java
index 85bc899d2..37af94798 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1559.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1559.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1559 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer156.java b/jpa/deferred/src/main/java/example/model/Customer156.java
index 535db7c97..d8b9284ff 100644
--- a/jpa/deferred/src/main/java/example/model/Customer156.java
+++ b/jpa/deferred/src/main/java/example/model/Customer156.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer156 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1560.java b/jpa/deferred/src/main/java/example/model/Customer1560.java
index d55c10986..72170d090 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1560.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1560.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1560 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1561.java b/jpa/deferred/src/main/java/example/model/Customer1561.java
index 1ed248248..45ab5bc21 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1561.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1561.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1561 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1562.java b/jpa/deferred/src/main/java/example/model/Customer1562.java
index 831257f36..f4b1b51b2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1562.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1562.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1562 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1563.java b/jpa/deferred/src/main/java/example/model/Customer1563.java
index 166d22a38..524381f1b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1563.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1563.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1563 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1564.java b/jpa/deferred/src/main/java/example/model/Customer1564.java
index 022cd3355..be7406266 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1564.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1564.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1564 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1565.java b/jpa/deferred/src/main/java/example/model/Customer1565.java
index c59d01932..dfcfec865 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1565.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1565.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1565 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1566.java b/jpa/deferred/src/main/java/example/model/Customer1566.java
index 76af99d1a..67e1f2a0e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1566.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1566.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1566 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1567.java b/jpa/deferred/src/main/java/example/model/Customer1567.java
index 62cef6e7b..b4b7f5b8c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1567.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1567.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1567 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1568.java b/jpa/deferred/src/main/java/example/model/Customer1568.java
index 72aad06a0..501527d14 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1568.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1568.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1568 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1569.java b/jpa/deferred/src/main/java/example/model/Customer1569.java
index e98d5c7fa..bb216644d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1569.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1569.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1569 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer157.java b/jpa/deferred/src/main/java/example/model/Customer157.java
index 7e83c5b5b..515234e2d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer157.java
+++ b/jpa/deferred/src/main/java/example/model/Customer157.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer157 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1570.java b/jpa/deferred/src/main/java/example/model/Customer1570.java
index 478892a26..ef11f511a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1570.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1570.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1570 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1571.java b/jpa/deferred/src/main/java/example/model/Customer1571.java
index 3ecba3e2a..b16d96875 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1571.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1571.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1571 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1572.java b/jpa/deferred/src/main/java/example/model/Customer1572.java
index 552863fc8..cb7fac184 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1572.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1572.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1572 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1573.java b/jpa/deferred/src/main/java/example/model/Customer1573.java
index a04dbe536..59cb7a964 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1573.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1573.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1573 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1574.java b/jpa/deferred/src/main/java/example/model/Customer1574.java
index ac460c6f2..d8c8388ab 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1574.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1574.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1574 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1575.java b/jpa/deferred/src/main/java/example/model/Customer1575.java
index 4a672a545..e81c0207d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1575.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1575.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1575 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1576.java b/jpa/deferred/src/main/java/example/model/Customer1576.java
index 4b398a418..32e653888 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1576.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1576.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1576 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1577.java b/jpa/deferred/src/main/java/example/model/Customer1577.java
index fef1d97ec..3ecb27378 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1577.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1577.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1577 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1578.java b/jpa/deferred/src/main/java/example/model/Customer1578.java
index 2bbad7a0e..722f4c02e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1578.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1578.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1578 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1579.java b/jpa/deferred/src/main/java/example/model/Customer1579.java
index 34683aeb3..e28ce3d83 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1579.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1579.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1579 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer158.java b/jpa/deferred/src/main/java/example/model/Customer158.java
index 729df387a..3675796a1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer158.java
+++ b/jpa/deferred/src/main/java/example/model/Customer158.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer158 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1580.java b/jpa/deferred/src/main/java/example/model/Customer1580.java
index dd50c6c8d..73d80210b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1580.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1580.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1580 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1581.java b/jpa/deferred/src/main/java/example/model/Customer1581.java
index 78afa3717..35069e83b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1581.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1581.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1581 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1582.java b/jpa/deferred/src/main/java/example/model/Customer1582.java
index ebcb96ca8..608a1668f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1582.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1582.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1582 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1583.java b/jpa/deferred/src/main/java/example/model/Customer1583.java
index 8bdb9bbd4..57e4afa2d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1583.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1583.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1583 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1584.java b/jpa/deferred/src/main/java/example/model/Customer1584.java
index d1e0378e3..ee933feee 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1584.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1584.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1584 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1585.java b/jpa/deferred/src/main/java/example/model/Customer1585.java
index 580f2426b..75a05ee2e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1585.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1585.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1585 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1586.java b/jpa/deferred/src/main/java/example/model/Customer1586.java
index ee34f7474..e9ebede3e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1586.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1586.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1586 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1587.java b/jpa/deferred/src/main/java/example/model/Customer1587.java
index a0b38353a..bec7bd1db 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1587.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1587.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1587 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1588.java b/jpa/deferred/src/main/java/example/model/Customer1588.java
index 8b4111f9b..67493ab4e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1588.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1588.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1588 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1589.java b/jpa/deferred/src/main/java/example/model/Customer1589.java
index a9284e192..188ebc2a2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1589.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1589.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1589 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer159.java b/jpa/deferred/src/main/java/example/model/Customer159.java
index 9e02caa65..d1910f5dc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer159.java
+++ b/jpa/deferred/src/main/java/example/model/Customer159.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer159 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1590.java b/jpa/deferred/src/main/java/example/model/Customer1590.java
index 8d06f218b..35f7809cc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1590.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1590.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1590 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1591.java b/jpa/deferred/src/main/java/example/model/Customer1591.java
index c6db54ddb..87077e071 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1591.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1591.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1591 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1592.java b/jpa/deferred/src/main/java/example/model/Customer1592.java
index aa6ad46a5..23cd59976 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1592.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1592.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1592 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1593.java b/jpa/deferred/src/main/java/example/model/Customer1593.java
index 6673f73cb..cedac65b2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1593.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1593.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1593 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1594.java b/jpa/deferred/src/main/java/example/model/Customer1594.java
index b927e2b5c..8bb5d2bad 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1594.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1594.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1594 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1595.java b/jpa/deferred/src/main/java/example/model/Customer1595.java
index b2fc896da..6fe81fc76 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1595.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1595.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1595 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1596.java b/jpa/deferred/src/main/java/example/model/Customer1596.java
index 0bf1fdf75..3f6192bf5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1596.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1596.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1596 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1597.java b/jpa/deferred/src/main/java/example/model/Customer1597.java
index 77f112e3b..296b627ef 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1597.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1597.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1597 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1598.java b/jpa/deferred/src/main/java/example/model/Customer1598.java
index f5c94f9e0..e1dfeafb9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1598.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1598.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1598 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1599.java b/jpa/deferred/src/main/java/example/model/Customer1599.java
index 81104c206..465b0bc35 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1599.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1599.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1599 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer16.java b/jpa/deferred/src/main/java/example/model/Customer16.java
index bc6a0e1ce..d2a1a63ce 100644
--- a/jpa/deferred/src/main/java/example/model/Customer16.java
+++ b/jpa/deferred/src/main/java/example/model/Customer16.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer16 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer160.java b/jpa/deferred/src/main/java/example/model/Customer160.java
index b7be4cbe8..0123238b5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer160.java
+++ b/jpa/deferred/src/main/java/example/model/Customer160.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer160 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1600.java b/jpa/deferred/src/main/java/example/model/Customer1600.java
index d529ee57e..7d84f3130 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1600.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1600.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1600 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1601.java b/jpa/deferred/src/main/java/example/model/Customer1601.java
index 09de5e909..08859019a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1601.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1601.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1601 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1602.java b/jpa/deferred/src/main/java/example/model/Customer1602.java
index abe770741..d433b0099 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1602.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1602.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1602 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1603.java b/jpa/deferred/src/main/java/example/model/Customer1603.java
index bbbff42e6..2443c2547 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1603.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1603.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1603 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1604.java b/jpa/deferred/src/main/java/example/model/Customer1604.java
index 774326b93..b4d955aee 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1604.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1604.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1604 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1605.java b/jpa/deferred/src/main/java/example/model/Customer1605.java
index 938df3085..d88a71340 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1605.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1605.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1605 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1606.java b/jpa/deferred/src/main/java/example/model/Customer1606.java
index 5a7f5bf61..a2509c06a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1606.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1606.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1606 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1607.java b/jpa/deferred/src/main/java/example/model/Customer1607.java
index bfa8922a6..7df648125 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1607.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1607.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1607 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1608.java b/jpa/deferred/src/main/java/example/model/Customer1608.java
index cb7638e5e..ab13529ac 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1608.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1608.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1608 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1609.java b/jpa/deferred/src/main/java/example/model/Customer1609.java
index c7b7e90cf..a10c0db6f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1609.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1609.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1609 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer161.java b/jpa/deferred/src/main/java/example/model/Customer161.java
index d0a2d2ce5..053c31245 100644
--- a/jpa/deferred/src/main/java/example/model/Customer161.java
+++ b/jpa/deferred/src/main/java/example/model/Customer161.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer161 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1610.java b/jpa/deferred/src/main/java/example/model/Customer1610.java
index 62cde00c3..397e29757 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1610.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1610.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1610 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1611.java b/jpa/deferred/src/main/java/example/model/Customer1611.java
index fb3ae43be..5136cd3cf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1611.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1611.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1611 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1612.java b/jpa/deferred/src/main/java/example/model/Customer1612.java
index bb1a28587..6b3133cdc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1612.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1612.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1612 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1613.java b/jpa/deferred/src/main/java/example/model/Customer1613.java
index 81d77b972..beb895606 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1613.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1613.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1613 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1614.java b/jpa/deferred/src/main/java/example/model/Customer1614.java
index fac80ef8b..551115f72 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1614.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1614.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1614 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1615.java b/jpa/deferred/src/main/java/example/model/Customer1615.java
index 7548c11c2..050797c11 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1615.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1615.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1615 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1616.java b/jpa/deferred/src/main/java/example/model/Customer1616.java
index b936326aa..0fbf37d97 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1616.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1616.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1616 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1617.java b/jpa/deferred/src/main/java/example/model/Customer1617.java
index a7d042bbe..89f364122 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1617.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1617.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1617 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1618.java b/jpa/deferred/src/main/java/example/model/Customer1618.java
index dc4738cfb..a8522a867 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1618.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1618.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1618 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1619.java b/jpa/deferred/src/main/java/example/model/Customer1619.java
index dfbc789a6..716feb92a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1619.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1619.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1619 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer162.java b/jpa/deferred/src/main/java/example/model/Customer162.java
index 945e0e787..87290bef1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer162.java
+++ b/jpa/deferred/src/main/java/example/model/Customer162.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer162 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1620.java b/jpa/deferred/src/main/java/example/model/Customer1620.java
index 88c4f9fc9..3cca2aae9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1620.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1620.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1620 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1621.java b/jpa/deferred/src/main/java/example/model/Customer1621.java
index fffa15c4a..239428844 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1621.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1621.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1621 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1622.java b/jpa/deferred/src/main/java/example/model/Customer1622.java
index da2f06169..6df314fd5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1622.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1622.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1622 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1623.java b/jpa/deferred/src/main/java/example/model/Customer1623.java
index e80a5b2c0..10d5394ea 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1623.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1623.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1623 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1624.java b/jpa/deferred/src/main/java/example/model/Customer1624.java
index d16d7edaf..1a7f5b2fd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1624.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1624.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1624 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1625.java b/jpa/deferred/src/main/java/example/model/Customer1625.java
index f22d8acea..f6a3e0dbd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1625.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1625.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1625 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1626.java b/jpa/deferred/src/main/java/example/model/Customer1626.java
index f7aabf38b..6bfbda058 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1626.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1626.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1626 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1627.java b/jpa/deferred/src/main/java/example/model/Customer1627.java
index b80e76a73..f2a00cf31 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1627.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1627.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1627 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1628.java b/jpa/deferred/src/main/java/example/model/Customer1628.java
index 51a48590b..fcf2008bc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1628.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1628.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1628 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1629.java b/jpa/deferred/src/main/java/example/model/Customer1629.java
index 3341115dc..e54312219 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1629.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1629.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1629 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer163.java b/jpa/deferred/src/main/java/example/model/Customer163.java
index e15738e23..2e5715e22 100644
--- a/jpa/deferred/src/main/java/example/model/Customer163.java
+++ b/jpa/deferred/src/main/java/example/model/Customer163.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer163 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1630.java b/jpa/deferred/src/main/java/example/model/Customer1630.java
index 724a99d7b..ffdd9bac2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1630.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1630.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1630 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1631.java b/jpa/deferred/src/main/java/example/model/Customer1631.java
index cf8e50824..8247419b9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1631.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1631.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1631 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1632.java b/jpa/deferred/src/main/java/example/model/Customer1632.java
index 2e3ccbe77..2e1ad3777 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1632.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1632.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1632 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1633.java b/jpa/deferred/src/main/java/example/model/Customer1633.java
index 479a6ae1c..877da3f35 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1633.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1633.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1633 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1634.java b/jpa/deferred/src/main/java/example/model/Customer1634.java
index bfdcf13e9..50ec9bf33 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1634.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1634.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1634 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1635.java b/jpa/deferred/src/main/java/example/model/Customer1635.java
index e12e28eb1..97e7619ed 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1635.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1635.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1635 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1636.java b/jpa/deferred/src/main/java/example/model/Customer1636.java
index e0c8fa1c0..13954dcba 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1636.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1636.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1636 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1637.java b/jpa/deferred/src/main/java/example/model/Customer1637.java
index 4ac3f7ae0..50d2b3463 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1637.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1637.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1637 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1638.java b/jpa/deferred/src/main/java/example/model/Customer1638.java
index fda937504..826a562b3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1638.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1638.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1638 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1639.java b/jpa/deferred/src/main/java/example/model/Customer1639.java
index f88a205cd..efcba9d78 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1639.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1639.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1639 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer164.java b/jpa/deferred/src/main/java/example/model/Customer164.java
index 1f5cfdbc5..babe72b55 100644
--- a/jpa/deferred/src/main/java/example/model/Customer164.java
+++ b/jpa/deferred/src/main/java/example/model/Customer164.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer164 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1640.java b/jpa/deferred/src/main/java/example/model/Customer1640.java
index 937c7cd6f..9e0b1bbe0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1640.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1640.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1640 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1641.java b/jpa/deferred/src/main/java/example/model/Customer1641.java
index ffe3ab603..0f8b83fb4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1641.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1641.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1641 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1642.java b/jpa/deferred/src/main/java/example/model/Customer1642.java
index 3158c7bbc..c21c81def 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1642.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1642.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1642 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1643.java b/jpa/deferred/src/main/java/example/model/Customer1643.java
index 3ab444036..ed29a05cd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1643.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1643.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1643 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1644.java b/jpa/deferred/src/main/java/example/model/Customer1644.java
index 4dc9ecbe4..05437fc3e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1644.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1644.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1644 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1645.java b/jpa/deferred/src/main/java/example/model/Customer1645.java
index f269b9299..e7e130ed2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1645.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1645.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1645 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1646.java b/jpa/deferred/src/main/java/example/model/Customer1646.java
index 121cee616..5f773cc47 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1646.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1646.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1646 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1647.java b/jpa/deferred/src/main/java/example/model/Customer1647.java
index cfa37ba35..f4fe38e42 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1647.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1647.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1647 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1648.java b/jpa/deferred/src/main/java/example/model/Customer1648.java
index f158e4543..4517b1ade 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1648.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1648.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1648 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1649.java b/jpa/deferred/src/main/java/example/model/Customer1649.java
index 368b909ed..f11170977 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1649.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1649.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1649 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer165.java b/jpa/deferred/src/main/java/example/model/Customer165.java
index 5d8124b59..8dd583c5d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer165.java
+++ b/jpa/deferred/src/main/java/example/model/Customer165.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer165 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1650.java b/jpa/deferred/src/main/java/example/model/Customer1650.java
index dcc6809fe..1d00037eb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1650.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1650.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1650 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1651.java b/jpa/deferred/src/main/java/example/model/Customer1651.java
index 319701548..c60141c04 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1651.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1651.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1651 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1652.java b/jpa/deferred/src/main/java/example/model/Customer1652.java
index e1a2b1bf6..1346ee419 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1652.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1652.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1652 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1653.java b/jpa/deferred/src/main/java/example/model/Customer1653.java
index 0b22ef7b3..4b1808b1e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1653.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1653.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1653 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1654.java b/jpa/deferred/src/main/java/example/model/Customer1654.java
index 491fe086b..5fd8c0da7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1654.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1654.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1654 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1655.java b/jpa/deferred/src/main/java/example/model/Customer1655.java
index 49dd6dc79..3a29be702 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1655.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1655.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1655 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1656.java b/jpa/deferred/src/main/java/example/model/Customer1656.java
index 9e6e7b99b..a9684acb9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1656.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1656.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1656 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1657.java b/jpa/deferred/src/main/java/example/model/Customer1657.java
index f0038557c..1227be5fb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1657.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1657.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1657 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1658.java b/jpa/deferred/src/main/java/example/model/Customer1658.java
index fd59e4ec9..9bd0b3ba2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1658.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1658.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1658 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1659.java b/jpa/deferred/src/main/java/example/model/Customer1659.java
index 310eac0b9..1d6a01f57 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1659.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1659.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1659 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer166.java b/jpa/deferred/src/main/java/example/model/Customer166.java
index ac5113bb9..91061658c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer166.java
+++ b/jpa/deferred/src/main/java/example/model/Customer166.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer166 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1660.java b/jpa/deferred/src/main/java/example/model/Customer1660.java
index 517f26b7a..eb16f6ffd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1660.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1660.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1660 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1661.java b/jpa/deferred/src/main/java/example/model/Customer1661.java
index 608da49ff..8a946006b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1661.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1661.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1661 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1662.java b/jpa/deferred/src/main/java/example/model/Customer1662.java
index 289185795..2d59cf5fb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1662.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1662.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1662 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1663.java b/jpa/deferred/src/main/java/example/model/Customer1663.java
index da65efa6c..3209f60f7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1663.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1663.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1663 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1664.java b/jpa/deferred/src/main/java/example/model/Customer1664.java
index e8f324e18..3cc1c1baa 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1664.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1664.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1664 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1665.java b/jpa/deferred/src/main/java/example/model/Customer1665.java
index 226154d58..0c6b1dc4e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1665.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1665.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1665 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1666.java b/jpa/deferred/src/main/java/example/model/Customer1666.java
index 2fa7348d2..ef92927a6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1666.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1666.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1666 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1667.java b/jpa/deferred/src/main/java/example/model/Customer1667.java
index 21ce17ece..43edee3fd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1667.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1667.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1667 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1668.java b/jpa/deferred/src/main/java/example/model/Customer1668.java
index 6f67f65df..c7fad4629 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1668.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1668.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1668 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1669.java b/jpa/deferred/src/main/java/example/model/Customer1669.java
index 0eb4581c6..54822abcc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1669.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1669.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1669 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer167.java b/jpa/deferred/src/main/java/example/model/Customer167.java
index 0bc6a404b..746b24603 100644
--- a/jpa/deferred/src/main/java/example/model/Customer167.java
+++ b/jpa/deferred/src/main/java/example/model/Customer167.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer167 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1670.java b/jpa/deferred/src/main/java/example/model/Customer1670.java
index 97d11209f..d0965a394 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1670.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1670.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1670 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1671.java b/jpa/deferred/src/main/java/example/model/Customer1671.java
index 997ef5e4f..dd0b6d60d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1671.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1671.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1671 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1672.java b/jpa/deferred/src/main/java/example/model/Customer1672.java
index f0d3164a8..256c393f2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1672.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1672.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1672 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1673.java b/jpa/deferred/src/main/java/example/model/Customer1673.java
index 0a2ed73d4..0e7310d4d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1673.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1673.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1673 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1674.java b/jpa/deferred/src/main/java/example/model/Customer1674.java
index 6b8db5c04..6dd318bf1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1674.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1674.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1674 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1675.java b/jpa/deferred/src/main/java/example/model/Customer1675.java
index b2d7047e6..751cb0fc8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1675.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1675.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1675 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1676.java b/jpa/deferred/src/main/java/example/model/Customer1676.java
index 1799d71a3..ce1f18b16 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1676.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1676.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1676 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1677.java b/jpa/deferred/src/main/java/example/model/Customer1677.java
index ce92b5c61..7319fcdc8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1677.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1677.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1677 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1678.java b/jpa/deferred/src/main/java/example/model/Customer1678.java
index 02753432d..a712299ad 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1678.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1678.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1678 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1679.java b/jpa/deferred/src/main/java/example/model/Customer1679.java
index 7dd6fa3fb..5c5d4a637 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1679.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1679.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1679 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer168.java b/jpa/deferred/src/main/java/example/model/Customer168.java
index 55e74a57a..62e5921e5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer168.java
+++ b/jpa/deferred/src/main/java/example/model/Customer168.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer168 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1680.java b/jpa/deferred/src/main/java/example/model/Customer1680.java
index 61d01e3db..d2d68c2c5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1680.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1680.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1680 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1681.java b/jpa/deferred/src/main/java/example/model/Customer1681.java
index cd201a56b..6dcc2f652 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1681.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1681.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1681 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1682.java b/jpa/deferred/src/main/java/example/model/Customer1682.java
index c727e33e4..c2a922a5e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1682.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1682.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1682 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1683.java b/jpa/deferred/src/main/java/example/model/Customer1683.java
index 882af469a..2f6af1544 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1683.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1683.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1683 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1684.java b/jpa/deferred/src/main/java/example/model/Customer1684.java
index 782bdc712..e8c9bb8c0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1684.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1684.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1684 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1685.java b/jpa/deferred/src/main/java/example/model/Customer1685.java
index 0896e9e1e..9093c895f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1685.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1685.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1685 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1686.java b/jpa/deferred/src/main/java/example/model/Customer1686.java
index 870ab4c0f..8d5938ff4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1686.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1686.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1686 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1687.java b/jpa/deferred/src/main/java/example/model/Customer1687.java
index c52a35a14..977dd9433 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1687.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1687.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1687 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1688.java b/jpa/deferred/src/main/java/example/model/Customer1688.java
index ce058af9a..b18fbc702 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1688.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1688.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1688 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1689.java b/jpa/deferred/src/main/java/example/model/Customer1689.java
index 7466763a0..f89ef8f44 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1689.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1689.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1689 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer169.java b/jpa/deferred/src/main/java/example/model/Customer169.java
index 25c01741f..0e768b168 100644
--- a/jpa/deferred/src/main/java/example/model/Customer169.java
+++ b/jpa/deferred/src/main/java/example/model/Customer169.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer169 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1690.java b/jpa/deferred/src/main/java/example/model/Customer1690.java
index 1993564ad..748660bae 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1690.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1690.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1690 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1691.java b/jpa/deferred/src/main/java/example/model/Customer1691.java
index 0abcefe12..c52208621 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1691.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1691.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1691 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1692.java b/jpa/deferred/src/main/java/example/model/Customer1692.java
index 49a9381b2..e909cd4ba 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1692.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1692.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1692 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1693.java b/jpa/deferred/src/main/java/example/model/Customer1693.java
index 603a6b076..8ba20be22 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1693.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1693.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1693 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1694.java b/jpa/deferred/src/main/java/example/model/Customer1694.java
index 6267fbfb3..661f13c06 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1694.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1694.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1694 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1695.java b/jpa/deferred/src/main/java/example/model/Customer1695.java
index 82fe86ed2..70e558ef6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1695.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1695.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1695 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1696.java b/jpa/deferred/src/main/java/example/model/Customer1696.java
index 00c13cb28..3738c4ee9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1696.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1696.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1696 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1697.java b/jpa/deferred/src/main/java/example/model/Customer1697.java
index 846b2ba4d..404a95030 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1697.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1697.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1697 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1698.java b/jpa/deferred/src/main/java/example/model/Customer1698.java
index c723d826a..710980b71 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1698.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1698.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1698 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1699.java b/jpa/deferred/src/main/java/example/model/Customer1699.java
index cd93b11a5..d1bff8f6f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1699.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1699.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1699 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer17.java b/jpa/deferred/src/main/java/example/model/Customer17.java
index 455468593..2170473f7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer17.java
+++ b/jpa/deferred/src/main/java/example/model/Customer17.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer17 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer170.java b/jpa/deferred/src/main/java/example/model/Customer170.java
index 797919490..f34fd9980 100644
--- a/jpa/deferred/src/main/java/example/model/Customer170.java
+++ b/jpa/deferred/src/main/java/example/model/Customer170.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer170 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1700.java b/jpa/deferred/src/main/java/example/model/Customer1700.java
index f6606b978..6d1fc548c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1700.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1700.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1700 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1701.java b/jpa/deferred/src/main/java/example/model/Customer1701.java
index 793ec2ee2..c8927cff9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1701.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1701.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1701 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1702.java b/jpa/deferred/src/main/java/example/model/Customer1702.java
index adb17716b..8523e6321 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1702.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1702.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1702 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1703.java b/jpa/deferred/src/main/java/example/model/Customer1703.java
index dca35b5d8..b640cc4fa 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1703.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1703.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1703 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1704.java b/jpa/deferred/src/main/java/example/model/Customer1704.java
index 1ade5132e..8c0b87a58 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1704.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1704.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1704 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1705.java b/jpa/deferred/src/main/java/example/model/Customer1705.java
index 61c439f9d..78d62863f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1705.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1705.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1705 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1706.java b/jpa/deferred/src/main/java/example/model/Customer1706.java
index 92742d92a..d7e5d71a6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1706.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1706.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1706 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1707.java b/jpa/deferred/src/main/java/example/model/Customer1707.java
index 35b8fb8e4..1db7fb30d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1707.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1707.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1707 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1708.java b/jpa/deferred/src/main/java/example/model/Customer1708.java
index 646bfc7f7..5adc9c4f8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1708.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1708.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1708 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1709.java b/jpa/deferred/src/main/java/example/model/Customer1709.java
index 727ddfbf9..2afdc9d5d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1709.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1709.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1709 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer171.java b/jpa/deferred/src/main/java/example/model/Customer171.java
index b9dd8479e..08b7045df 100644
--- a/jpa/deferred/src/main/java/example/model/Customer171.java
+++ b/jpa/deferred/src/main/java/example/model/Customer171.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer171 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1710.java b/jpa/deferred/src/main/java/example/model/Customer1710.java
index 379f603b2..b307c77d9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1710.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1710.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1710 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1711.java b/jpa/deferred/src/main/java/example/model/Customer1711.java
index 83cf73f58..b149ffa61 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1711.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1711.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1711 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1712.java b/jpa/deferred/src/main/java/example/model/Customer1712.java
index a5958cbe9..53b0e13b6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1712.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1712.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1712 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1713.java b/jpa/deferred/src/main/java/example/model/Customer1713.java
index 37f14ea54..501f1d43e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1713.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1713.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1713 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1714.java b/jpa/deferred/src/main/java/example/model/Customer1714.java
index 5dbfe9731..49141d1b4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1714.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1714.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1714 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1715.java b/jpa/deferred/src/main/java/example/model/Customer1715.java
index 481d5af54..bef8987bf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1715.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1715.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1715 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1716.java b/jpa/deferred/src/main/java/example/model/Customer1716.java
index b0ba01ad3..225467553 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1716.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1716.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1716 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1717.java b/jpa/deferred/src/main/java/example/model/Customer1717.java
index 7bc60575e..b135ccd41 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1717.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1717.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1717 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1718.java b/jpa/deferred/src/main/java/example/model/Customer1718.java
index 0bf9409bb..9cecd0537 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1718.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1718.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1718 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1719.java b/jpa/deferred/src/main/java/example/model/Customer1719.java
index 6937fe0f4..1e047dea0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1719.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1719.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1719 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer172.java b/jpa/deferred/src/main/java/example/model/Customer172.java
index 361ca2bbf..52297232e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer172.java
+++ b/jpa/deferred/src/main/java/example/model/Customer172.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer172 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1720.java b/jpa/deferred/src/main/java/example/model/Customer1720.java
index 28cf8d602..014150bfc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1720.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1720.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1720 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1721.java b/jpa/deferred/src/main/java/example/model/Customer1721.java
index cf32837c4..69e8f65e2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1721.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1721.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1721 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1722.java b/jpa/deferred/src/main/java/example/model/Customer1722.java
index e6b9bec50..4706eb46c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1722.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1722.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1722 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1723.java b/jpa/deferred/src/main/java/example/model/Customer1723.java
index a617c00e9..835d36178 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1723.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1723.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1723 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1724.java b/jpa/deferred/src/main/java/example/model/Customer1724.java
index 0db324c42..dae11e1d9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1724.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1724.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1724 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1725.java b/jpa/deferred/src/main/java/example/model/Customer1725.java
index aef11af54..11009aec3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1725.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1725.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1725 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1726.java b/jpa/deferred/src/main/java/example/model/Customer1726.java
index 0afaae9af..75c634043 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1726.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1726.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1726 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1727.java b/jpa/deferred/src/main/java/example/model/Customer1727.java
index 230b0af61..0969b698e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1727.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1727.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1727 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1728.java b/jpa/deferred/src/main/java/example/model/Customer1728.java
index d52988b17..bf650672f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1728.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1728.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1728 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1729.java b/jpa/deferred/src/main/java/example/model/Customer1729.java
index 92b7a1d49..c84b1ddc1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1729.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1729.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1729 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer173.java b/jpa/deferred/src/main/java/example/model/Customer173.java
index 39a3ac71c..e50a27049 100644
--- a/jpa/deferred/src/main/java/example/model/Customer173.java
+++ b/jpa/deferred/src/main/java/example/model/Customer173.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer173 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1730.java b/jpa/deferred/src/main/java/example/model/Customer1730.java
index f93f012fc..ce1cf694c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1730.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1730.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1730 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1731.java b/jpa/deferred/src/main/java/example/model/Customer1731.java
index 377ad5e2b..1612cf558 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1731.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1731.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1731 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1732.java b/jpa/deferred/src/main/java/example/model/Customer1732.java
index 3d1226874..9db71fa55 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1732.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1732.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1732 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1733.java b/jpa/deferred/src/main/java/example/model/Customer1733.java
index 67adb62c8..66225fa93 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1733.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1733.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1733 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1734.java b/jpa/deferred/src/main/java/example/model/Customer1734.java
index 0ae1c35de..0a21620e8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1734.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1734.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1734 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1735.java b/jpa/deferred/src/main/java/example/model/Customer1735.java
index a353ca633..778db7cd0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1735.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1735.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1735 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1736.java b/jpa/deferred/src/main/java/example/model/Customer1736.java
index c5aa86aee..66ebcbea2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1736.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1736.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1736 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1737.java b/jpa/deferred/src/main/java/example/model/Customer1737.java
index 4ece16e45..cfbde523b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1737.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1737.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1737 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1738.java b/jpa/deferred/src/main/java/example/model/Customer1738.java
index fc02f51d3..902a6cbfa 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1738.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1738.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1738 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1739.java b/jpa/deferred/src/main/java/example/model/Customer1739.java
index 3c8551d56..7cff281d4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1739.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1739.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1739 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer174.java b/jpa/deferred/src/main/java/example/model/Customer174.java
index efcbe39ec..c3727771b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer174.java
+++ b/jpa/deferred/src/main/java/example/model/Customer174.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer174 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1740.java b/jpa/deferred/src/main/java/example/model/Customer1740.java
index 1512cdd63..99e299986 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1740.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1740.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1740 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1741.java b/jpa/deferred/src/main/java/example/model/Customer1741.java
index e86f0baf7..ac6e9d40a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1741.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1741.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1741 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1742.java b/jpa/deferred/src/main/java/example/model/Customer1742.java
index c54bf190e..f53375191 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1742.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1742.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1742 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1743.java b/jpa/deferred/src/main/java/example/model/Customer1743.java
index b212f31bc..cb97906fd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1743.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1743.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1743 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1744.java b/jpa/deferred/src/main/java/example/model/Customer1744.java
index d5ea45435..ea951888b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1744.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1744.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1744 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1745.java b/jpa/deferred/src/main/java/example/model/Customer1745.java
index a19b1660e..8d26baf0f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1745.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1745.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1745 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1746.java b/jpa/deferred/src/main/java/example/model/Customer1746.java
index fef17b94d..f2d12192a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1746.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1746.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1746 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1747.java b/jpa/deferred/src/main/java/example/model/Customer1747.java
index bc4640151..453cea890 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1747.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1747.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1747 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1748.java b/jpa/deferred/src/main/java/example/model/Customer1748.java
index bd9cb08ae..5af634c70 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1748.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1748.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1748 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1749.java b/jpa/deferred/src/main/java/example/model/Customer1749.java
index 13ad04c6b..0be363e41 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1749.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1749.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1749 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer175.java b/jpa/deferred/src/main/java/example/model/Customer175.java
index 9e3d1d3ee..715f67e3b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer175.java
+++ b/jpa/deferred/src/main/java/example/model/Customer175.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer175 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1750.java b/jpa/deferred/src/main/java/example/model/Customer1750.java
index 0a4a4fecc..a208e3fbb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1750.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1750.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1750 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1751.java b/jpa/deferred/src/main/java/example/model/Customer1751.java
index 048dadd27..981633f05 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1751.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1751.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1751 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1752.java b/jpa/deferred/src/main/java/example/model/Customer1752.java
index cc00c87db..03951009d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1752.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1752.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1752 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1753.java b/jpa/deferred/src/main/java/example/model/Customer1753.java
index 4c80c3cd6..7bc9c3ca8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1753.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1753.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1753 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1754.java b/jpa/deferred/src/main/java/example/model/Customer1754.java
index 996b398a5..5ff16bc64 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1754.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1754.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1754 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1755.java b/jpa/deferred/src/main/java/example/model/Customer1755.java
index 646db0a8c..8ba6f12ee 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1755.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1755.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1755 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1756.java b/jpa/deferred/src/main/java/example/model/Customer1756.java
index 0afd831b3..e71ae2d49 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1756.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1756.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1756 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1757.java b/jpa/deferred/src/main/java/example/model/Customer1757.java
index 35440248f..d0532b42e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1757.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1757.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1757 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1758.java b/jpa/deferred/src/main/java/example/model/Customer1758.java
index 70f1ac5a7..fd10d8317 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1758.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1758.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1758 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1759.java b/jpa/deferred/src/main/java/example/model/Customer1759.java
index 06062689a..07079e412 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1759.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1759.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1759 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer176.java b/jpa/deferred/src/main/java/example/model/Customer176.java
index 52462ebd2..591bee278 100644
--- a/jpa/deferred/src/main/java/example/model/Customer176.java
+++ b/jpa/deferred/src/main/java/example/model/Customer176.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer176 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1760.java b/jpa/deferred/src/main/java/example/model/Customer1760.java
index c1e03c3b2..b957c05dd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1760.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1760.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1760 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1761.java b/jpa/deferred/src/main/java/example/model/Customer1761.java
index 651620e82..9c4dfdc54 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1761.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1761.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1761 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1762.java b/jpa/deferred/src/main/java/example/model/Customer1762.java
index a060d332c..83a09b1ab 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1762.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1762.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1762 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1763.java b/jpa/deferred/src/main/java/example/model/Customer1763.java
index 4a78f0253..c0bd603a3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1763.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1763.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1763 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1764.java b/jpa/deferred/src/main/java/example/model/Customer1764.java
index ba41f0700..22cd7216c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1764.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1764.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1764 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1765.java b/jpa/deferred/src/main/java/example/model/Customer1765.java
index 19e730d35..5c8e6d395 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1765.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1765.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1765 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1766.java b/jpa/deferred/src/main/java/example/model/Customer1766.java
index cd8cd2973..15e304662 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1766.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1766.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1766 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1767.java b/jpa/deferred/src/main/java/example/model/Customer1767.java
index d8e1f9a53..4051b0177 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1767.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1767.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1767 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1768.java b/jpa/deferred/src/main/java/example/model/Customer1768.java
index 022035e17..308ac1420 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1768.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1768.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1768 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1769.java b/jpa/deferred/src/main/java/example/model/Customer1769.java
index 984a09098..bc5e8e746 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1769.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1769.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1769 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer177.java b/jpa/deferred/src/main/java/example/model/Customer177.java
index e52ecff40..d2c5672bb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer177.java
+++ b/jpa/deferred/src/main/java/example/model/Customer177.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer177 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1770.java b/jpa/deferred/src/main/java/example/model/Customer1770.java
index a9ea51aa9..57fd55cc2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1770.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1770.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1770 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1771.java b/jpa/deferred/src/main/java/example/model/Customer1771.java
index ff7a9ef26..fcf4fba19 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1771.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1771.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1771 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1772.java b/jpa/deferred/src/main/java/example/model/Customer1772.java
index 934fcf369..88b14622f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1772.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1772.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1772 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1773.java b/jpa/deferred/src/main/java/example/model/Customer1773.java
index 66ae0021c..f9f082dd4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1773.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1773.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1773 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1774.java b/jpa/deferred/src/main/java/example/model/Customer1774.java
index 58896d3b1..17fb39e9a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1774.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1774.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1774 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1775.java b/jpa/deferred/src/main/java/example/model/Customer1775.java
index a3b9e94cb..1741fdc7d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1775.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1775.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1775 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1776.java b/jpa/deferred/src/main/java/example/model/Customer1776.java
index 5b827318d..e74fa00ce 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1776.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1776.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1776 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1777.java b/jpa/deferred/src/main/java/example/model/Customer1777.java
index 57f484a51..fc77b08e0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1777.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1777.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1777 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1778.java b/jpa/deferred/src/main/java/example/model/Customer1778.java
index 8df47e26e..08a04ba4a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1778.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1778.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1778 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1779.java b/jpa/deferred/src/main/java/example/model/Customer1779.java
index ac6516909..36eb1ea20 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1779.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1779.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1779 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer178.java b/jpa/deferred/src/main/java/example/model/Customer178.java
index 781aaaac1..2666846b7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer178.java
+++ b/jpa/deferred/src/main/java/example/model/Customer178.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer178 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1780.java b/jpa/deferred/src/main/java/example/model/Customer1780.java
index 300345256..10a8424f6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1780.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1780.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1780 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1781.java b/jpa/deferred/src/main/java/example/model/Customer1781.java
index 8cb6c7bb5..750c93f4b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1781.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1781.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1781 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1782.java b/jpa/deferred/src/main/java/example/model/Customer1782.java
index 2eb107445..8ba7031a4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1782.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1782.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1782 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1783.java b/jpa/deferred/src/main/java/example/model/Customer1783.java
index 50581349c..e8c477bfa 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1783.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1783.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1783 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1784.java b/jpa/deferred/src/main/java/example/model/Customer1784.java
index 798ca52ca..8cf8cbc55 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1784.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1784.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1784 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1785.java b/jpa/deferred/src/main/java/example/model/Customer1785.java
index 6f88129c6..59c841e63 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1785.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1785.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1785 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1786.java b/jpa/deferred/src/main/java/example/model/Customer1786.java
index 2e6738191..f1210cf0b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1786.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1786.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1786 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1787.java b/jpa/deferred/src/main/java/example/model/Customer1787.java
index c67c704f4..71d001fd0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1787.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1787.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1787 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1788.java b/jpa/deferred/src/main/java/example/model/Customer1788.java
index a7d95d3f1..a0d55c097 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1788.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1788.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1788 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1789.java b/jpa/deferred/src/main/java/example/model/Customer1789.java
index ae5860e23..fb12507db 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1789.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1789.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1789 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer179.java b/jpa/deferred/src/main/java/example/model/Customer179.java
index 15b039826..7578f488a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer179.java
+++ b/jpa/deferred/src/main/java/example/model/Customer179.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer179 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1790.java b/jpa/deferred/src/main/java/example/model/Customer1790.java
index 5c87d7ad6..37822c56a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1790.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1790.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1790 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1791.java b/jpa/deferred/src/main/java/example/model/Customer1791.java
index 9a6d02cd7..2e25f063b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1791.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1791.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1791 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1792.java b/jpa/deferred/src/main/java/example/model/Customer1792.java
index bdd9b65d8..42bee7704 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1792.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1792.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1792 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1793.java b/jpa/deferred/src/main/java/example/model/Customer1793.java
index 6ee401667..1f8859fae 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1793.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1793.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1793 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1794.java b/jpa/deferred/src/main/java/example/model/Customer1794.java
index 78f479313..6db581dea 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1794.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1794.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1794 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1795.java b/jpa/deferred/src/main/java/example/model/Customer1795.java
index aef3e317f..dbbe2f432 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1795.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1795.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1795 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1796.java b/jpa/deferred/src/main/java/example/model/Customer1796.java
index 42f648585..2a3f8490f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1796.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1796.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1796 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1797.java b/jpa/deferred/src/main/java/example/model/Customer1797.java
index 5f54cca98..21d200d2d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1797.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1797.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1797 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1798.java b/jpa/deferred/src/main/java/example/model/Customer1798.java
index 4f954b7db..e57a69231 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1798.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1798.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1798 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1799.java b/jpa/deferred/src/main/java/example/model/Customer1799.java
index a542cd237..57b2358a5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1799.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1799.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1799 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer18.java b/jpa/deferred/src/main/java/example/model/Customer18.java
index 48f7daf5b..4729c2ecd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer18.java
+++ b/jpa/deferred/src/main/java/example/model/Customer18.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer18 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer180.java b/jpa/deferred/src/main/java/example/model/Customer180.java
index 23b596772..c6301b08f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer180.java
+++ b/jpa/deferred/src/main/java/example/model/Customer180.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer180 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1800.java b/jpa/deferred/src/main/java/example/model/Customer1800.java
index 1a875d04e..9031b1ee4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1800.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1800.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1800 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1801.java b/jpa/deferred/src/main/java/example/model/Customer1801.java
index 725755ddb..30aac0aed 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1801.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1801.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1801 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1802.java b/jpa/deferred/src/main/java/example/model/Customer1802.java
index edd8dd8ef..730bde2c8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1802.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1802.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1802 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1803.java b/jpa/deferred/src/main/java/example/model/Customer1803.java
index 21ee4ea5f..25e282d07 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1803.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1803.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1803 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1804.java b/jpa/deferred/src/main/java/example/model/Customer1804.java
index ceccf95aa..95aa6b4c7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1804.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1804.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1804 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1805.java b/jpa/deferred/src/main/java/example/model/Customer1805.java
index 516739eb4..0069ac7cb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1805.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1805.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1805 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1806.java b/jpa/deferred/src/main/java/example/model/Customer1806.java
index 5ee25b171..63c307ea9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1806.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1806.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1806 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1807.java b/jpa/deferred/src/main/java/example/model/Customer1807.java
index e5749247f..7af0c871a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1807.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1807.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1807 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1808.java b/jpa/deferred/src/main/java/example/model/Customer1808.java
index cdcd4246d..36c7c4263 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1808.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1808.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1808 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1809.java b/jpa/deferred/src/main/java/example/model/Customer1809.java
index 64e405a47..c4d180744 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1809.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1809.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1809 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer181.java b/jpa/deferred/src/main/java/example/model/Customer181.java
index 9cca5c01d..671399db4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer181.java
+++ b/jpa/deferred/src/main/java/example/model/Customer181.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer181 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1810.java b/jpa/deferred/src/main/java/example/model/Customer1810.java
index 42ae60bc9..f5d4f560a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1810.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1810.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1810 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1811.java b/jpa/deferred/src/main/java/example/model/Customer1811.java
index 908959ceb..1bb7e9d84 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1811.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1811.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1811 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1812.java b/jpa/deferred/src/main/java/example/model/Customer1812.java
index 8d250e1e6..065403df0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1812.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1812.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1812 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1813.java b/jpa/deferred/src/main/java/example/model/Customer1813.java
index 571defeff..312595071 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1813.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1813.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1813 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1814.java b/jpa/deferred/src/main/java/example/model/Customer1814.java
index 8c20ead96..37c5b7ce8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1814.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1814.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1814 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1815.java b/jpa/deferred/src/main/java/example/model/Customer1815.java
index a7d1fe706..f3cab3214 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1815.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1815.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1815 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1816.java b/jpa/deferred/src/main/java/example/model/Customer1816.java
index 8cf37cf3c..e44516da5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1816.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1816.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1816 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1817.java b/jpa/deferred/src/main/java/example/model/Customer1817.java
index 520414d93..9a67599c4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1817.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1817.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1817 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1818.java b/jpa/deferred/src/main/java/example/model/Customer1818.java
index a2bcc6667..4f60d0905 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1818.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1818.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1818 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1819.java b/jpa/deferred/src/main/java/example/model/Customer1819.java
index 9e31d0721..3ec9ba989 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1819.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1819.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1819 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer182.java b/jpa/deferred/src/main/java/example/model/Customer182.java
index c116e75ed..97f317483 100644
--- a/jpa/deferred/src/main/java/example/model/Customer182.java
+++ b/jpa/deferred/src/main/java/example/model/Customer182.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer182 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1820.java b/jpa/deferred/src/main/java/example/model/Customer1820.java
index f1ac9320a..e33667d1d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1820.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1820.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1820 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1821.java b/jpa/deferred/src/main/java/example/model/Customer1821.java
index 148847f55..eed377270 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1821.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1821.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1821 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1822.java b/jpa/deferred/src/main/java/example/model/Customer1822.java
index 6e00ac55f..ecc55d54c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1822.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1822.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1822 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1823.java b/jpa/deferred/src/main/java/example/model/Customer1823.java
index 7a6497daf..c278e0164 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1823.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1823.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1823 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1824.java b/jpa/deferred/src/main/java/example/model/Customer1824.java
index 676d80c8a..4921f8edd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1824.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1824.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1824 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1825.java b/jpa/deferred/src/main/java/example/model/Customer1825.java
index 8076d7f4c..a34143c6d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1825.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1825.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1825 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1826.java b/jpa/deferred/src/main/java/example/model/Customer1826.java
index cd23ac742..067000d80 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1826.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1826.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1826 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1827.java b/jpa/deferred/src/main/java/example/model/Customer1827.java
index 269395af9..6ed37dd6e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1827.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1827.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1827 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1828.java b/jpa/deferred/src/main/java/example/model/Customer1828.java
index b5f5d94cc..5724ed71c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1828.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1828.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1828 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1829.java b/jpa/deferred/src/main/java/example/model/Customer1829.java
index bbbd56311..db2e946a9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1829.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1829.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1829 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer183.java b/jpa/deferred/src/main/java/example/model/Customer183.java
index d2bae555e..d99bcedb3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer183.java
+++ b/jpa/deferred/src/main/java/example/model/Customer183.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer183 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1830.java b/jpa/deferred/src/main/java/example/model/Customer1830.java
index 71df084bd..0ab26195a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1830.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1830.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1830 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1831.java b/jpa/deferred/src/main/java/example/model/Customer1831.java
index 0d125a372..b47748cf7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1831.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1831.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1831 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1832.java b/jpa/deferred/src/main/java/example/model/Customer1832.java
index a49bd2688..596471cee 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1832.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1832.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1832 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1833.java b/jpa/deferred/src/main/java/example/model/Customer1833.java
index 800aef5ba..16d7d27cb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1833.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1833.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1833 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1834.java b/jpa/deferred/src/main/java/example/model/Customer1834.java
index c02558357..6f4b5647a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1834.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1834.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1834 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1835.java b/jpa/deferred/src/main/java/example/model/Customer1835.java
index 1170ab240..3b47fd0e5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1835.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1835.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1835 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1836.java b/jpa/deferred/src/main/java/example/model/Customer1836.java
index f035bf762..8e5f95046 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1836.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1836.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1836 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1837.java b/jpa/deferred/src/main/java/example/model/Customer1837.java
index 50a4e3eee..4956673b9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1837.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1837.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1837 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1838.java b/jpa/deferred/src/main/java/example/model/Customer1838.java
index e2436a1a8..b8413ef72 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1838.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1838.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1838 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1839.java b/jpa/deferred/src/main/java/example/model/Customer1839.java
index b5486983a..4022aa881 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1839.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1839.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1839 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer184.java b/jpa/deferred/src/main/java/example/model/Customer184.java
index b5ef11241..6cdb6cf64 100644
--- a/jpa/deferred/src/main/java/example/model/Customer184.java
+++ b/jpa/deferred/src/main/java/example/model/Customer184.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer184 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1840.java b/jpa/deferred/src/main/java/example/model/Customer1840.java
index cd4df33d2..5b2aa3c98 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1840.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1840.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1840 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1841.java b/jpa/deferred/src/main/java/example/model/Customer1841.java
index db29e6f37..fc4398989 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1841.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1841.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1841 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1842.java b/jpa/deferred/src/main/java/example/model/Customer1842.java
index 1c5453ead..47630b486 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1842.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1842.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1842 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1843.java b/jpa/deferred/src/main/java/example/model/Customer1843.java
index 2f5f4713d..1d638e884 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1843.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1843.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1843 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1844.java b/jpa/deferred/src/main/java/example/model/Customer1844.java
index d6459034e..00a4c1073 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1844.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1844.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1844 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1845.java b/jpa/deferred/src/main/java/example/model/Customer1845.java
index 572385dad..e9d64470f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1845.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1845.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1845 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1846.java b/jpa/deferred/src/main/java/example/model/Customer1846.java
index 95ecda2db..c61695a9a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1846.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1846.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1846 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1847.java b/jpa/deferred/src/main/java/example/model/Customer1847.java
index ece5ef10b..5580fc298 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1847.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1847.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1847 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1848.java b/jpa/deferred/src/main/java/example/model/Customer1848.java
index d1837b305..edab42317 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1848.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1848.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1848 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1849.java b/jpa/deferred/src/main/java/example/model/Customer1849.java
index 567ba489d..93e5ae88d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1849.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1849.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1849 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer185.java b/jpa/deferred/src/main/java/example/model/Customer185.java
index 172e27eea..23f1f920c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer185.java
+++ b/jpa/deferred/src/main/java/example/model/Customer185.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer185 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1850.java b/jpa/deferred/src/main/java/example/model/Customer1850.java
index 242df9b36..e2d860b83 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1850.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1850.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1850 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1851.java b/jpa/deferred/src/main/java/example/model/Customer1851.java
index 79a8b2c2e..127175ec0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1851.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1851.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1851 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1852.java b/jpa/deferred/src/main/java/example/model/Customer1852.java
index 644dbbe49..56b78b014 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1852.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1852.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1852 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1853.java b/jpa/deferred/src/main/java/example/model/Customer1853.java
index b072f1c44..1f849c8e2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1853.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1853.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1853 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1854.java b/jpa/deferred/src/main/java/example/model/Customer1854.java
index edc92b909..9245ec46b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1854.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1854.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1854 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1855.java b/jpa/deferred/src/main/java/example/model/Customer1855.java
index 57f893a0a..57aea7989 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1855.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1855.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1855 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1856.java b/jpa/deferred/src/main/java/example/model/Customer1856.java
index bc3cc74c1..e25e76cab 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1856.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1856.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1856 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1857.java b/jpa/deferred/src/main/java/example/model/Customer1857.java
index f3b07f3dd..b1af818c0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1857.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1857.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1857 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1858.java b/jpa/deferred/src/main/java/example/model/Customer1858.java
index 30a303957..f3aef464f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1858.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1858.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1858 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1859.java b/jpa/deferred/src/main/java/example/model/Customer1859.java
index 24e1c9765..b25f55624 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1859.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1859.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1859 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer186.java b/jpa/deferred/src/main/java/example/model/Customer186.java
index c8b79a40a..1ac197b72 100644
--- a/jpa/deferred/src/main/java/example/model/Customer186.java
+++ b/jpa/deferred/src/main/java/example/model/Customer186.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer186 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1860.java b/jpa/deferred/src/main/java/example/model/Customer1860.java
index c5252a8c3..3b251e218 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1860.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1860.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1860 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1861.java b/jpa/deferred/src/main/java/example/model/Customer1861.java
index cff8e67c7..a8d76513c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1861.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1861.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1861 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1862.java b/jpa/deferred/src/main/java/example/model/Customer1862.java
index 7d2efe049..d5d86762a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1862.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1862.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1862 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1863.java b/jpa/deferred/src/main/java/example/model/Customer1863.java
index 3a1b2e7ac..7f83f8ad8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1863.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1863.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1863 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1864.java b/jpa/deferred/src/main/java/example/model/Customer1864.java
index f09f97228..9835362e1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1864.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1864.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1864 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1865.java b/jpa/deferred/src/main/java/example/model/Customer1865.java
index b7dd3a729..63d07874c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1865.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1865.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1865 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1866.java b/jpa/deferred/src/main/java/example/model/Customer1866.java
index 49e4af756..f1dd86ed5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1866.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1866.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1866 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1867.java b/jpa/deferred/src/main/java/example/model/Customer1867.java
index ab6b05819..f1ce6720c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1867.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1867.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1867 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1868.java b/jpa/deferred/src/main/java/example/model/Customer1868.java
index f503fff6b..51134618f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1868.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1868.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1868 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1869.java b/jpa/deferred/src/main/java/example/model/Customer1869.java
index e57cfd61a..87181925f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1869.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1869.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1869 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer187.java b/jpa/deferred/src/main/java/example/model/Customer187.java
index f1f3db293..4403c8b29 100644
--- a/jpa/deferred/src/main/java/example/model/Customer187.java
+++ b/jpa/deferred/src/main/java/example/model/Customer187.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer187 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1870.java b/jpa/deferred/src/main/java/example/model/Customer1870.java
index 0f27e485c..3a56787a9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1870.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1870.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1870 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1871.java b/jpa/deferred/src/main/java/example/model/Customer1871.java
index 9c1740233..6a5f4e2a5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1871.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1871.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1871 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1872.java b/jpa/deferred/src/main/java/example/model/Customer1872.java
index 780b6bb88..2e2c44799 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1872.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1872.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1872 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1873.java b/jpa/deferred/src/main/java/example/model/Customer1873.java
index 3c48dd07b..92a10b588 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1873.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1873.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1873 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1874.java b/jpa/deferred/src/main/java/example/model/Customer1874.java
index 54b401b69..8434dac92 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1874.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1874.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1874 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1875.java b/jpa/deferred/src/main/java/example/model/Customer1875.java
index d7e18b5c8..f41afb99f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1875.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1875.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1875 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1876.java b/jpa/deferred/src/main/java/example/model/Customer1876.java
index b2a8cd8b6..030303345 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1876.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1876.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1876 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1877.java b/jpa/deferred/src/main/java/example/model/Customer1877.java
index 7535c8141..348a24221 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1877.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1877.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1877 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1878.java b/jpa/deferred/src/main/java/example/model/Customer1878.java
index ffae1ecbb..fc3e5bad1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1878.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1878.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1878 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1879.java b/jpa/deferred/src/main/java/example/model/Customer1879.java
index e1a55c198..7899edea5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1879.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1879.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1879 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer188.java b/jpa/deferred/src/main/java/example/model/Customer188.java
index d53dde0c1..eab3793d0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer188.java
+++ b/jpa/deferred/src/main/java/example/model/Customer188.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer188 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1880.java b/jpa/deferred/src/main/java/example/model/Customer1880.java
index 92023a592..8b18e83b3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1880.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1880.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1880 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1881.java b/jpa/deferred/src/main/java/example/model/Customer1881.java
index 7a55be7d3..748d9286c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1881.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1881.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1881 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1882.java b/jpa/deferred/src/main/java/example/model/Customer1882.java
index 3e5f632dd..c0218d4de 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1882.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1882.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1882 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1883.java b/jpa/deferred/src/main/java/example/model/Customer1883.java
index 12ee286f0..2752f2f11 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1883.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1883.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1883 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1884.java b/jpa/deferred/src/main/java/example/model/Customer1884.java
index 5c49e37ce..1e3942f86 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1884.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1884.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1884 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1885.java b/jpa/deferred/src/main/java/example/model/Customer1885.java
index 5e6ca908a..2ba92b5c4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1885.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1885.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1885 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1886.java b/jpa/deferred/src/main/java/example/model/Customer1886.java
index 6c8a5d7e1..58541ca1f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1886.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1886.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1886 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1887.java b/jpa/deferred/src/main/java/example/model/Customer1887.java
index 68c5ca0cc..3e45a628b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1887.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1887.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1887 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1888.java b/jpa/deferred/src/main/java/example/model/Customer1888.java
index 3dfd69cfc..63ffdbeec 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1888.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1888.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1888 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1889.java b/jpa/deferred/src/main/java/example/model/Customer1889.java
index c353952c6..8c610a63f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1889.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1889.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1889 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer189.java b/jpa/deferred/src/main/java/example/model/Customer189.java
index 6dbadd913..961d983ae 100644
--- a/jpa/deferred/src/main/java/example/model/Customer189.java
+++ b/jpa/deferred/src/main/java/example/model/Customer189.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer189 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1890.java b/jpa/deferred/src/main/java/example/model/Customer1890.java
index 36f5c0ae5..d7eb27223 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1890.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1890.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1890 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1891.java b/jpa/deferred/src/main/java/example/model/Customer1891.java
index 33a8584f5..5187ac756 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1891.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1891.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1891 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1892.java b/jpa/deferred/src/main/java/example/model/Customer1892.java
index ebd444b92..8b522d2f4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1892.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1892.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1892 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1893.java b/jpa/deferred/src/main/java/example/model/Customer1893.java
index 5cf9bec64..988efa080 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1893.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1893.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1893 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1894.java b/jpa/deferred/src/main/java/example/model/Customer1894.java
index c3730bf75..fc8ef1205 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1894.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1894.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1894 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1895.java b/jpa/deferred/src/main/java/example/model/Customer1895.java
index 0b5d114e8..b66ea378c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1895.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1895.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1895 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1896.java b/jpa/deferred/src/main/java/example/model/Customer1896.java
index 808ac8628..b1fc9361e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1896.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1896.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1896 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1897.java b/jpa/deferred/src/main/java/example/model/Customer1897.java
index 516bef3e2..7d99c39ad 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1897.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1897.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1897 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1898.java b/jpa/deferred/src/main/java/example/model/Customer1898.java
index 5178db3f4..ff16f6d09 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1898.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1898.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1898 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1899.java b/jpa/deferred/src/main/java/example/model/Customer1899.java
index 9dbd36feb..c6b2aca54 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1899.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1899.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1899 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer19.java b/jpa/deferred/src/main/java/example/model/Customer19.java
index 37bfe43ce..b1454abb6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer19.java
+++ b/jpa/deferred/src/main/java/example/model/Customer19.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer19 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer190.java b/jpa/deferred/src/main/java/example/model/Customer190.java
index dd54e77e1..827ef64a0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer190.java
+++ b/jpa/deferred/src/main/java/example/model/Customer190.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer190 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1900.java b/jpa/deferred/src/main/java/example/model/Customer1900.java
index 09f4971a2..39612e504 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1900.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1900.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1900 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1901.java b/jpa/deferred/src/main/java/example/model/Customer1901.java
index 5ed1fcd97..3b875c7c2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1901.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1901.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1901 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1902.java b/jpa/deferred/src/main/java/example/model/Customer1902.java
index e0c67b865..be48b1429 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1902.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1902.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1902 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1903.java b/jpa/deferred/src/main/java/example/model/Customer1903.java
index a1018e7e7..8fbe16c5e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1903.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1903.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1903 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1904.java b/jpa/deferred/src/main/java/example/model/Customer1904.java
index a6a12925a..85c118a6c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1904.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1904.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1904 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1905.java b/jpa/deferred/src/main/java/example/model/Customer1905.java
index 1e36121fb..1250a8a69 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1905.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1905.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1905 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1906.java b/jpa/deferred/src/main/java/example/model/Customer1906.java
index 96c097006..4e13aedd9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1906.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1906.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1906 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1907.java b/jpa/deferred/src/main/java/example/model/Customer1907.java
index 34298b20d..485fc1e1f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1907.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1907.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1907 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1908.java b/jpa/deferred/src/main/java/example/model/Customer1908.java
index 994b20109..fba4ee2fc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1908.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1908.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1908 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1909.java b/jpa/deferred/src/main/java/example/model/Customer1909.java
index aa793a608..5b485d32a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1909.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1909.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1909 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer191.java b/jpa/deferred/src/main/java/example/model/Customer191.java
index ad6531daa..6563d5f3d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer191.java
+++ b/jpa/deferred/src/main/java/example/model/Customer191.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer191 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1910.java b/jpa/deferred/src/main/java/example/model/Customer1910.java
index f903d50ad..ccdb5771b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1910.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1910.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1910 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1911.java b/jpa/deferred/src/main/java/example/model/Customer1911.java
index 1eac78472..422553479 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1911.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1911.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1911 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1912.java b/jpa/deferred/src/main/java/example/model/Customer1912.java
index faa693cf2..e9c54d933 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1912.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1912.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1912 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1913.java b/jpa/deferred/src/main/java/example/model/Customer1913.java
index 2f17a0fe3..1702f3f98 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1913.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1913.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1913 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1914.java b/jpa/deferred/src/main/java/example/model/Customer1914.java
index 5547c9e42..a947a77e7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1914.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1914.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1914 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1915.java b/jpa/deferred/src/main/java/example/model/Customer1915.java
index 4ca384246..ba960e808 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1915.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1915.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1915 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1916.java b/jpa/deferred/src/main/java/example/model/Customer1916.java
index 01c42ea35..8be2e8758 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1916.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1916.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1916 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1917.java b/jpa/deferred/src/main/java/example/model/Customer1917.java
index 1717bf5e5..175e10e5e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1917.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1917.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1917 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1918.java b/jpa/deferred/src/main/java/example/model/Customer1918.java
index b1dd0e244..4c5feba8e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1918.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1918.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1918 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1919.java b/jpa/deferred/src/main/java/example/model/Customer1919.java
index eb445ad8d..653ba7650 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1919.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1919.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1919 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer192.java b/jpa/deferred/src/main/java/example/model/Customer192.java
index 1ad494d75..3733e2733 100644
--- a/jpa/deferred/src/main/java/example/model/Customer192.java
+++ b/jpa/deferred/src/main/java/example/model/Customer192.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer192 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1920.java b/jpa/deferred/src/main/java/example/model/Customer1920.java
index f80d89128..fb1621204 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1920.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1920.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1920 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1921.java b/jpa/deferred/src/main/java/example/model/Customer1921.java
index 9049fe8a7..65d0c102a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1921.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1921.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1921 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1922.java b/jpa/deferred/src/main/java/example/model/Customer1922.java
index 5971f416a..44c9e501f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1922.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1922.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1922 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1923.java b/jpa/deferred/src/main/java/example/model/Customer1923.java
index ce8c5912a..20d8e282e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1923.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1923.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1923 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1924.java b/jpa/deferred/src/main/java/example/model/Customer1924.java
index 25706eb89..9d4aecefa 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1924.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1924.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1924 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1925.java b/jpa/deferred/src/main/java/example/model/Customer1925.java
index 69868c2db..d0414a3b3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1925.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1925.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1925 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1926.java b/jpa/deferred/src/main/java/example/model/Customer1926.java
index 3cd3f1e81..85889b060 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1926.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1926.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1926 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1927.java b/jpa/deferred/src/main/java/example/model/Customer1927.java
index 590c4e028..956fb3dfc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1927.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1927.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1927 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1928.java b/jpa/deferred/src/main/java/example/model/Customer1928.java
index e317b05f5..86959b785 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1928.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1928.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1928 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1929.java b/jpa/deferred/src/main/java/example/model/Customer1929.java
index d72931602..e17e689c0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1929.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1929.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1929 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer193.java b/jpa/deferred/src/main/java/example/model/Customer193.java
index ea2b431ad..f1cb73de9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer193.java
+++ b/jpa/deferred/src/main/java/example/model/Customer193.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer193 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1930.java b/jpa/deferred/src/main/java/example/model/Customer1930.java
index 586e1e1fa..f7374d085 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1930.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1930.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1930 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1931.java b/jpa/deferred/src/main/java/example/model/Customer1931.java
index 96a1e9968..c279e37fb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1931.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1931.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1931 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1932.java b/jpa/deferred/src/main/java/example/model/Customer1932.java
index 3e72e473c..95930f24c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1932.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1932.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1932 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1933.java b/jpa/deferred/src/main/java/example/model/Customer1933.java
index f06b1cad4..af8e4df06 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1933.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1933.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1933 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1934.java b/jpa/deferred/src/main/java/example/model/Customer1934.java
index 15def7510..a106aecba 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1934.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1934.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1934 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1935.java b/jpa/deferred/src/main/java/example/model/Customer1935.java
index 7a67da217..a012599fa 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1935.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1935.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1935 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1936.java b/jpa/deferred/src/main/java/example/model/Customer1936.java
index bfe17e2b6..943cfd916 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1936.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1936.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1936 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1937.java b/jpa/deferred/src/main/java/example/model/Customer1937.java
index 3489a72d8..6782c0dea 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1937.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1937.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1937 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1938.java b/jpa/deferred/src/main/java/example/model/Customer1938.java
index d397ae70a..6009bfb14 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1938.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1938.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1938 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1939.java b/jpa/deferred/src/main/java/example/model/Customer1939.java
index fb5306917..dd2a20735 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1939.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1939.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1939 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer194.java b/jpa/deferred/src/main/java/example/model/Customer194.java
index ae162f59e..402cfbb0c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer194.java
+++ b/jpa/deferred/src/main/java/example/model/Customer194.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer194 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1940.java b/jpa/deferred/src/main/java/example/model/Customer1940.java
index 01d0e0cfc..488e0cac6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1940.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1940.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1940 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1941.java b/jpa/deferred/src/main/java/example/model/Customer1941.java
index 125d24cf8..c7b521bb1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1941.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1941.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1941 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1942.java b/jpa/deferred/src/main/java/example/model/Customer1942.java
index 2d0388d31..cdb20fd5d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1942.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1942.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1942 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1943.java b/jpa/deferred/src/main/java/example/model/Customer1943.java
index 0e0cb601b..4d43cdc27 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1943.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1943.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1943 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1944.java b/jpa/deferred/src/main/java/example/model/Customer1944.java
index acc189406..eba268649 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1944.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1944.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1944 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1945.java b/jpa/deferred/src/main/java/example/model/Customer1945.java
index c3d671faa..37a8423f0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1945.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1945.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1945 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1946.java b/jpa/deferred/src/main/java/example/model/Customer1946.java
index f7a032684..197e23c95 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1946.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1946.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1946 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1947.java b/jpa/deferred/src/main/java/example/model/Customer1947.java
index 243f3e742..1713953d5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1947.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1947.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1947 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1948.java b/jpa/deferred/src/main/java/example/model/Customer1948.java
index 6014dbf59..66d7d66c6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1948.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1948.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1948 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1949.java b/jpa/deferred/src/main/java/example/model/Customer1949.java
index 935801f1f..ec23dd7c6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1949.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1949.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1949 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer195.java b/jpa/deferred/src/main/java/example/model/Customer195.java
index d3443a194..ae7a76960 100644
--- a/jpa/deferred/src/main/java/example/model/Customer195.java
+++ b/jpa/deferred/src/main/java/example/model/Customer195.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer195 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1950.java b/jpa/deferred/src/main/java/example/model/Customer1950.java
index ef3532a9a..3de3c2355 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1950.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1950.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1950 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1951.java b/jpa/deferred/src/main/java/example/model/Customer1951.java
index d361f8c51..9745cfd41 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1951.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1951.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1951 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1952.java b/jpa/deferred/src/main/java/example/model/Customer1952.java
index 9e4fc0b38..151f989a7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1952.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1952.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1952 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1953.java b/jpa/deferred/src/main/java/example/model/Customer1953.java
index 106722bd4..c5fda3d0d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1953.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1953.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1953 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1954.java b/jpa/deferred/src/main/java/example/model/Customer1954.java
index 7e1dc4c57..4111982a2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1954.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1954.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1954 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1955.java b/jpa/deferred/src/main/java/example/model/Customer1955.java
index 45e70b631..920d4b4cc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1955.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1955.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1955 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1956.java b/jpa/deferred/src/main/java/example/model/Customer1956.java
index a65319e06..eecd8531d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1956.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1956.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1956 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1957.java b/jpa/deferred/src/main/java/example/model/Customer1957.java
index 2d83ca9a1..f15aecb27 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1957.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1957.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1957 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1958.java b/jpa/deferred/src/main/java/example/model/Customer1958.java
index a704b27ad..68367cbce 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1958.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1958.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1958 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1959.java b/jpa/deferred/src/main/java/example/model/Customer1959.java
index a61b73e4a..49e6e18f1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1959.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1959.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1959 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer196.java b/jpa/deferred/src/main/java/example/model/Customer196.java
index 40ab4d411..c394ec2a2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer196.java
+++ b/jpa/deferred/src/main/java/example/model/Customer196.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer196 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1960.java b/jpa/deferred/src/main/java/example/model/Customer1960.java
index 2b7387986..03e3eb6da 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1960.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1960.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1960 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1961.java b/jpa/deferred/src/main/java/example/model/Customer1961.java
index 28a285fae..d24e4836e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1961.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1961.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1961 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1962.java b/jpa/deferred/src/main/java/example/model/Customer1962.java
index dbeef7876..842cbed91 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1962.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1962.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1962 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1963.java b/jpa/deferred/src/main/java/example/model/Customer1963.java
index 22d3c457d..43538c258 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1963.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1963.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1963 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1964.java b/jpa/deferred/src/main/java/example/model/Customer1964.java
index 1ce18a96f..9563c914b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1964.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1964.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1964 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1965.java b/jpa/deferred/src/main/java/example/model/Customer1965.java
index db11593c0..8f3788b1f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1965.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1965.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1965 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1966.java b/jpa/deferred/src/main/java/example/model/Customer1966.java
index 1f0649d2f..116dc6f43 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1966.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1966.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1966 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1967.java b/jpa/deferred/src/main/java/example/model/Customer1967.java
index de35dbb3f..8cf16f0af 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1967.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1967.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1967 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1968.java b/jpa/deferred/src/main/java/example/model/Customer1968.java
index f90f5ce73..e3dc871d3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1968.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1968.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1968 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1969.java b/jpa/deferred/src/main/java/example/model/Customer1969.java
index 46129e477..2234845ce 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1969.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1969.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1969 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer197.java b/jpa/deferred/src/main/java/example/model/Customer197.java
index 5ac87729e..84df82aca 100644
--- a/jpa/deferred/src/main/java/example/model/Customer197.java
+++ b/jpa/deferred/src/main/java/example/model/Customer197.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer197 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1970.java b/jpa/deferred/src/main/java/example/model/Customer1970.java
index ca5faff35..ea6f55bba 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1970.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1970.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1970 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1971.java b/jpa/deferred/src/main/java/example/model/Customer1971.java
index fe1cf20be..f6f719cc7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1971.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1971.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1971 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1972.java b/jpa/deferred/src/main/java/example/model/Customer1972.java
index 726601a7f..e68c218db 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1972.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1972.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1972 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1973.java b/jpa/deferred/src/main/java/example/model/Customer1973.java
index 741fc73bf..a8643f427 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1973.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1973.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1973 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1974.java b/jpa/deferred/src/main/java/example/model/Customer1974.java
index 2a4e03fc4..46ada5bcb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1974.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1974.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1974 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1975.java b/jpa/deferred/src/main/java/example/model/Customer1975.java
index 7eeaba4e3..d6959a0b0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1975.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1975.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1975 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1976.java b/jpa/deferred/src/main/java/example/model/Customer1976.java
index 8ddc2a276..97552f6fc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1976.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1976.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1976 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1977.java b/jpa/deferred/src/main/java/example/model/Customer1977.java
index ff7416480..b7d84bebb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1977.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1977.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1977 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1978.java b/jpa/deferred/src/main/java/example/model/Customer1978.java
index 194c35e92..f5ab8d22c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1978.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1978.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1978 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1979.java b/jpa/deferred/src/main/java/example/model/Customer1979.java
index 31e9e6736..4c7ae9a7d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1979.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1979.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1979 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer198.java b/jpa/deferred/src/main/java/example/model/Customer198.java
index 534cf01a0..8c40f6987 100644
--- a/jpa/deferred/src/main/java/example/model/Customer198.java
+++ b/jpa/deferred/src/main/java/example/model/Customer198.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer198 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1980.java b/jpa/deferred/src/main/java/example/model/Customer1980.java
index e8fa887b5..f4db38afe 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1980.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1980.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1980 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1981.java b/jpa/deferred/src/main/java/example/model/Customer1981.java
index 6557a1420..f68b279d1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1981.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1981.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1981 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1982.java b/jpa/deferred/src/main/java/example/model/Customer1982.java
index 4be54bf45..e4473e6ba 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1982.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1982.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1982 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1983.java b/jpa/deferred/src/main/java/example/model/Customer1983.java
index 65c6c028c..89db2cf58 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1983.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1983.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1983 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1984.java b/jpa/deferred/src/main/java/example/model/Customer1984.java
index de8a1c444..d6066a943 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1984.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1984.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1984 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1985.java b/jpa/deferred/src/main/java/example/model/Customer1985.java
index da5b34331..7c054d886 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1985.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1985.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1985 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1986.java b/jpa/deferred/src/main/java/example/model/Customer1986.java
index d85a6ef40..4d0c95358 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1986.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1986.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1986 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1987.java b/jpa/deferred/src/main/java/example/model/Customer1987.java
index 509b72d9f..49100f622 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1987.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1987.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1987 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1988.java b/jpa/deferred/src/main/java/example/model/Customer1988.java
index 446cf171c..8617193c1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1988.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1988.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1988 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1989.java b/jpa/deferred/src/main/java/example/model/Customer1989.java
index 419c7616f..4dbde7072 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1989.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1989.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1989 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer199.java b/jpa/deferred/src/main/java/example/model/Customer199.java
index 8b00d5804..3cb239255 100644
--- a/jpa/deferred/src/main/java/example/model/Customer199.java
+++ b/jpa/deferred/src/main/java/example/model/Customer199.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer199 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1990.java b/jpa/deferred/src/main/java/example/model/Customer1990.java
index 51a10fa94..f5009bb5b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1990.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1990.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1990 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1991.java b/jpa/deferred/src/main/java/example/model/Customer1991.java
index bcc837561..66c73b4c0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1991.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1991.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1991 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1992.java b/jpa/deferred/src/main/java/example/model/Customer1992.java
index e1ccaaa9c..9f4da34bb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1992.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1992.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1992 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1993.java b/jpa/deferred/src/main/java/example/model/Customer1993.java
index 82ed9f80f..f6bac5513 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1993.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1993.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1993 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1994.java b/jpa/deferred/src/main/java/example/model/Customer1994.java
index 9bb6acf1e..58dc260a1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1994.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1994.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1994 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1995.java b/jpa/deferred/src/main/java/example/model/Customer1995.java
index 745e9e4db..a63b7d7d5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1995.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1995.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1995 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1996.java b/jpa/deferred/src/main/java/example/model/Customer1996.java
index 94d3c9604..330688ded 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1996.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1996.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1996 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1997.java b/jpa/deferred/src/main/java/example/model/Customer1997.java
index 66cf964b8..4630c0522 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1997.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1997.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1997 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1998.java b/jpa/deferred/src/main/java/example/model/Customer1998.java
index 64749ce9b..fae3f5f80 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1998.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1998.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1998 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer1999.java b/jpa/deferred/src/main/java/example/model/Customer1999.java
index f5071b210..daa804d10 100644
--- a/jpa/deferred/src/main/java/example/model/Customer1999.java
+++ b/jpa/deferred/src/main/java/example/model/Customer1999.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer1999 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer2.java b/jpa/deferred/src/main/java/example/model/Customer2.java
index 4ca56cc97..f09e940a8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer2.java
+++ b/jpa/deferred/src/main/java/example/model/Customer2.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer2 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer20.java b/jpa/deferred/src/main/java/example/model/Customer20.java
index d43dec1eb..e06a4d246 100644
--- a/jpa/deferred/src/main/java/example/model/Customer20.java
+++ b/jpa/deferred/src/main/java/example/model/Customer20.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer20 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer200.java b/jpa/deferred/src/main/java/example/model/Customer200.java
index c3992db02..fea463fb9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer200.java
+++ b/jpa/deferred/src/main/java/example/model/Customer200.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer200 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer201.java b/jpa/deferred/src/main/java/example/model/Customer201.java
index ec81c8a46..bc9353990 100644
--- a/jpa/deferred/src/main/java/example/model/Customer201.java
+++ b/jpa/deferred/src/main/java/example/model/Customer201.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer201 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer202.java b/jpa/deferred/src/main/java/example/model/Customer202.java
index b14b1dd26..d5a6a88b3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer202.java
+++ b/jpa/deferred/src/main/java/example/model/Customer202.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer202 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer203.java b/jpa/deferred/src/main/java/example/model/Customer203.java
index 9d0bbc566..a9ecb7a26 100644
--- a/jpa/deferred/src/main/java/example/model/Customer203.java
+++ b/jpa/deferred/src/main/java/example/model/Customer203.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer203 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer204.java b/jpa/deferred/src/main/java/example/model/Customer204.java
index 8b8ddba1c..e7fc1c837 100644
--- a/jpa/deferred/src/main/java/example/model/Customer204.java
+++ b/jpa/deferred/src/main/java/example/model/Customer204.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer204 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer205.java b/jpa/deferred/src/main/java/example/model/Customer205.java
index 260144485..6c9a397cd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer205.java
+++ b/jpa/deferred/src/main/java/example/model/Customer205.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer205 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer206.java b/jpa/deferred/src/main/java/example/model/Customer206.java
index 0844df99e..b285e6e86 100644
--- a/jpa/deferred/src/main/java/example/model/Customer206.java
+++ b/jpa/deferred/src/main/java/example/model/Customer206.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer206 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer207.java b/jpa/deferred/src/main/java/example/model/Customer207.java
index 4340ccc37..9bd482626 100644
--- a/jpa/deferred/src/main/java/example/model/Customer207.java
+++ b/jpa/deferred/src/main/java/example/model/Customer207.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer207 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer208.java b/jpa/deferred/src/main/java/example/model/Customer208.java
index 0711c0693..42c2d76c5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer208.java
+++ b/jpa/deferred/src/main/java/example/model/Customer208.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer208 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer209.java b/jpa/deferred/src/main/java/example/model/Customer209.java
index 53a1f9d9c..e83b73cfe 100644
--- a/jpa/deferred/src/main/java/example/model/Customer209.java
+++ b/jpa/deferred/src/main/java/example/model/Customer209.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer209 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer21.java b/jpa/deferred/src/main/java/example/model/Customer21.java
index 26d91cca3..05db08c98 100644
--- a/jpa/deferred/src/main/java/example/model/Customer21.java
+++ b/jpa/deferred/src/main/java/example/model/Customer21.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer21 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer210.java b/jpa/deferred/src/main/java/example/model/Customer210.java
index 81d489562..5293dea98 100644
--- a/jpa/deferred/src/main/java/example/model/Customer210.java
+++ b/jpa/deferred/src/main/java/example/model/Customer210.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer210 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer211.java b/jpa/deferred/src/main/java/example/model/Customer211.java
index b2e0db2d4..efbf8a54c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer211.java
+++ b/jpa/deferred/src/main/java/example/model/Customer211.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer211 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer212.java b/jpa/deferred/src/main/java/example/model/Customer212.java
index 3d44576aa..573b2a754 100644
--- a/jpa/deferred/src/main/java/example/model/Customer212.java
+++ b/jpa/deferred/src/main/java/example/model/Customer212.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer212 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer213.java b/jpa/deferred/src/main/java/example/model/Customer213.java
index 8d6e47351..4f5599c37 100644
--- a/jpa/deferred/src/main/java/example/model/Customer213.java
+++ b/jpa/deferred/src/main/java/example/model/Customer213.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer213 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer214.java b/jpa/deferred/src/main/java/example/model/Customer214.java
index 337b15e30..fbf879766 100644
--- a/jpa/deferred/src/main/java/example/model/Customer214.java
+++ b/jpa/deferred/src/main/java/example/model/Customer214.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer214 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer215.java b/jpa/deferred/src/main/java/example/model/Customer215.java
index 6919e6ae4..bfa193019 100644
--- a/jpa/deferred/src/main/java/example/model/Customer215.java
+++ b/jpa/deferred/src/main/java/example/model/Customer215.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer215 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer216.java b/jpa/deferred/src/main/java/example/model/Customer216.java
index 1e69f0d3b..e38949b84 100644
--- a/jpa/deferred/src/main/java/example/model/Customer216.java
+++ b/jpa/deferred/src/main/java/example/model/Customer216.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer216 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer217.java b/jpa/deferred/src/main/java/example/model/Customer217.java
index 50f4efc5a..a8b8a9059 100644
--- a/jpa/deferred/src/main/java/example/model/Customer217.java
+++ b/jpa/deferred/src/main/java/example/model/Customer217.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer217 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer218.java b/jpa/deferred/src/main/java/example/model/Customer218.java
index 49b1d1580..ff61834c4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer218.java
+++ b/jpa/deferred/src/main/java/example/model/Customer218.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer218 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer219.java b/jpa/deferred/src/main/java/example/model/Customer219.java
index dcf3e7a5c..be9c8cd64 100644
--- a/jpa/deferred/src/main/java/example/model/Customer219.java
+++ b/jpa/deferred/src/main/java/example/model/Customer219.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer219 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer22.java b/jpa/deferred/src/main/java/example/model/Customer22.java
index b9df260c5..3512a98cf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer22.java
+++ b/jpa/deferred/src/main/java/example/model/Customer22.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer22 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer220.java b/jpa/deferred/src/main/java/example/model/Customer220.java
index 924822a19..79c2b6b4d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer220.java
+++ b/jpa/deferred/src/main/java/example/model/Customer220.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer220 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer221.java b/jpa/deferred/src/main/java/example/model/Customer221.java
index ad90c8fa6..966c465a8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer221.java
+++ b/jpa/deferred/src/main/java/example/model/Customer221.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer221 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer222.java b/jpa/deferred/src/main/java/example/model/Customer222.java
index 257795e80..58b8f1598 100644
--- a/jpa/deferred/src/main/java/example/model/Customer222.java
+++ b/jpa/deferred/src/main/java/example/model/Customer222.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer222 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer223.java b/jpa/deferred/src/main/java/example/model/Customer223.java
index 468ac2c97..43046d0e8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer223.java
+++ b/jpa/deferred/src/main/java/example/model/Customer223.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer223 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer224.java b/jpa/deferred/src/main/java/example/model/Customer224.java
index ccf253fd6..cf56d5619 100644
--- a/jpa/deferred/src/main/java/example/model/Customer224.java
+++ b/jpa/deferred/src/main/java/example/model/Customer224.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer224 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer225.java b/jpa/deferred/src/main/java/example/model/Customer225.java
index f8bd79849..04ac68d55 100644
--- a/jpa/deferred/src/main/java/example/model/Customer225.java
+++ b/jpa/deferred/src/main/java/example/model/Customer225.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer225 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer226.java b/jpa/deferred/src/main/java/example/model/Customer226.java
index 2245e8b73..3467e6f5a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer226.java
+++ b/jpa/deferred/src/main/java/example/model/Customer226.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer226 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer227.java b/jpa/deferred/src/main/java/example/model/Customer227.java
index ef0fa7b0d..d1b2288cd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer227.java
+++ b/jpa/deferred/src/main/java/example/model/Customer227.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer227 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer228.java b/jpa/deferred/src/main/java/example/model/Customer228.java
index f620e185a..c40d5d762 100644
--- a/jpa/deferred/src/main/java/example/model/Customer228.java
+++ b/jpa/deferred/src/main/java/example/model/Customer228.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer228 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer229.java b/jpa/deferred/src/main/java/example/model/Customer229.java
index cbc865604..cbd4572ae 100644
--- a/jpa/deferred/src/main/java/example/model/Customer229.java
+++ b/jpa/deferred/src/main/java/example/model/Customer229.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer229 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer23.java b/jpa/deferred/src/main/java/example/model/Customer23.java
index dd61e7dd5..927bab1d6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer23.java
+++ b/jpa/deferred/src/main/java/example/model/Customer23.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer23 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer230.java b/jpa/deferred/src/main/java/example/model/Customer230.java
index c73d245c9..74fa20e1a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer230.java
+++ b/jpa/deferred/src/main/java/example/model/Customer230.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer230 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer231.java b/jpa/deferred/src/main/java/example/model/Customer231.java
index 668f1664b..f1c82f8e0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer231.java
+++ b/jpa/deferred/src/main/java/example/model/Customer231.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer231 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer232.java b/jpa/deferred/src/main/java/example/model/Customer232.java
index 22a43386e..765bb684b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer232.java
+++ b/jpa/deferred/src/main/java/example/model/Customer232.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer232 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer233.java b/jpa/deferred/src/main/java/example/model/Customer233.java
index 22b2286f2..b44a7261d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer233.java
+++ b/jpa/deferred/src/main/java/example/model/Customer233.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer233 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer234.java b/jpa/deferred/src/main/java/example/model/Customer234.java
index b70f2cb69..8a1ec0002 100644
--- a/jpa/deferred/src/main/java/example/model/Customer234.java
+++ b/jpa/deferred/src/main/java/example/model/Customer234.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer234 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer235.java b/jpa/deferred/src/main/java/example/model/Customer235.java
index d594e58f3..c82a1c76e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer235.java
+++ b/jpa/deferred/src/main/java/example/model/Customer235.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer235 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer236.java b/jpa/deferred/src/main/java/example/model/Customer236.java
index 25b21c195..a87c9cc00 100644
--- a/jpa/deferred/src/main/java/example/model/Customer236.java
+++ b/jpa/deferred/src/main/java/example/model/Customer236.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer236 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer237.java b/jpa/deferred/src/main/java/example/model/Customer237.java
index 5e5277c4d..ab8fd9c29 100644
--- a/jpa/deferred/src/main/java/example/model/Customer237.java
+++ b/jpa/deferred/src/main/java/example/model/Customer237.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer237 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer238.java b/jpa/deferred/src/main/java/example/model/Customer238.java
index 469bce14d..f33143053 100644
--- a/jpa/deferred/src/main/java/example/model/Customer238.java
+++ b/jpa/deferred/src/main/java/example/model/Customer238.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer238 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer239.java b/jpa/deferred/src/main/java/example/model/Customer239.java
index d1cf4832b..69d24f211 100644
--- a/jpa/deferred/src/main/java/example/model/Customer239.java
+++ b/jpa/deferred/src/main/java/example/model/Customer239.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer239 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer24.java b/jpa/deferred/src/main/java/example/model/Customer24.java
index cc766e46d..c6d36d524 100644
--- a/jpa/deferred/src/main/java/example/model/Customer24.java
+++ b/jpa/deferred/src/main/java/example/model/Customer24.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer24 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer240.java b/jpa/deferred/src/main/java/example/model/Customer240.java
index 4cbf4d3c1..55907dd8f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer240.java
+++ b/jpa/deferred/src/main/java/example/model/Customer240.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer240 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer241.java b/jpa/deferred/src/main/java/example/model/Customer241.java
index fa17b8940..826f9a220 100644
--- a/jpa/deferred/src/main/java/example/model/Customer241.java
+++ b/jpa/deferred/src/main/java/example/model/Customer241.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer241 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer242.java b/jpa/deferred/src/main/java/example/model/Customer242.java
index 876232829..e4a9dd8d2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer242.java
+++ b/jpa/deferred/src/main/java/example/model/Customer242.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer242 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer243.java b/jpa/deferred/src/main/java/example/model/Customer243.java
index 611fb606e..b9e0743df 100644
--- a/jpa/deferred/src/main/java/example/model/Customer243.java
+++ b/jpa/deferred/src/main/java/example/model/Customer243.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer243 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer244.java b/jpa/deferred/src/main/java/example/model/Customer244.java
index f65ab717a..ef7473a04 100644
--- a/jpa/deferred/src/main/java/example/model/Customer244.java
+++ b/jpa/deferred/src/main/java/example/model/Customer244.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer244 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer245.java b/jpa/deferred/src/main/java/example/model/Customer245.java
index 09fb5b4c5..83e807119 100644
--- a/jpa/deferred/src/main/java/example/model/Customer245.java
+++ b/jpa/deferred/src/main/java/example/model/Customer245.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer245 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer246.java b/jpa/deferred/src/main/java/example/model/Customer246.java
index b96b7be86..2ac212ef6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer246.java
+++ b/jpa/deferred/src/main/java/example/model/Customer246.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer246 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer247.java b/jpa/deferred/src/main/java/example/model/Customer247.java
index cbe9082fb..b1242e175 100644
--- a/jpa/deferred/src/main/java/example/model/Customer247.java
+++ b/jpa/deferred/src/main/java/example/model/Customer247.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer247 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer248.java b/jpa/deferred/src/main/java/example/model/Customer248.java
index 89ad8cc16..78f66e21a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer248.java
+++ b/jpa/deferred/src/main/java/example/model/Customer248.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer248 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer249.java b/jpa/deferred/src/main/java/example/model/Customer249.java
index 2725e3e7e..6c5990fcc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer249.java
+++ b/jpa/deferred/src/main/java/example/model/Customer249.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer249 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer25.java b/jpa/deferred/src/main/java/example/model/Customer25.java
index 7240ca122..b4f251181 100644
--- a/jpa/deferred/src/main/java/example/model/Customer25.java
+++ b/jpa/deferred/src/main/java/example/model/Customer25.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer25 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer250.java b/jpa/deferred/src/main/java/example/model/Customer250.java
index a9ae36216..6f5233e51 100644
--- a/jpa/deferred/src/main/java/example/model/Customer250.java
+++ b/jpa/deferred/src/main/java/example/model/Customer250.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer250 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer251.java b/jpa/deferred/src/main/java/example/model/Customer251.java
index b32007c6e..4292821e6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer251.java
+++ b/jpa/deferred/src/main/java/example/model/Customer251.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer251 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer252.java b/jpa/deferred/src/main/java/example/model/Customer252.java
index 7df2baedd..3d31f66f8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer252.java
+++ b/jpa/deferred/src/main/java/example/model/Customer252.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer252 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer253.java b/jpa/deferred/src/main/java/example/model/Customer253.java
index 6751ceace..699b9bc11 100644
--- a/jpa/deferred/src/main/java/example/model/Customer253.java
+++ b/jpa/deferred/src/main/java/example/model/Customer253.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer253 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer254.java b/jpa/deferred/src/main/java/example/model/Customer254.java
index e765610b6..fcdc01f1e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer254.java
+++ b/jpa/deferred/src/main/java/example/model/Customer254.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer254 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer255.java b/jpa/deferred/src/main/java/example/model/Customer255.java
index 341124b4f..baa82d7fe 100644
--- a/jpa/deferred/src/main/java/example/model/Customer255.java
+++ b/jpa/deferred/src/main/java/example/model/Customer255.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer255 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer256.java b/jpa/deferred/src/main/java/example/model/Customer256.java
index abc0f9f6f..c3ca6d3ca 100644
--- a/jpa/deferred/src/main/java/example/model/Customer256.java
+++ b/jpa/deferred/src/main/java/example/model/Customer256.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer256 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer257.java b/jpa/deferred/src/main/java/example/model/Customer257.java
index db021503a..ce18a6c80 100644
--- a/jpa/deferred/src/main/java/example/model/Customer257.java
+++ b/jpa/deferred/src/main/java/example/model/Customer257.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer257 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer258.java b/jpa/deferred/src/main/java/example/model/Customer258.java
index 4ddc18226..75d46889a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer258.java
+++ b/jpa/deferred/src/main/java/example/model/Customer258.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer258 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer259.java b/jpa/deferred/src/main/java/example/model/Customer259.java
index 0bf09d865..ddff9170e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer259.java
+++ b/jpa/deferred/src/main/java/example/model/Customer259.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer259 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer26.java b/jpa/deferred/src/main/java/example/model/Customer26.java
index 8da788bb6..7b5c6d392 100644
--- a/jpa/deferred/src/main/java/example/model/Customer26.java
+++ b/jpa/deferred/src/main/java/example/model/Customer26.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer26 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer260.java b/jpa/deferred/src/main/java/example/model/Customer260.java
index 8aaba9890..623afb406 100644
--- a/jpa/deferred/src/main/java/example/model/Customer260.java
+++ b/jpa/deferred/src/main/java/example/model/Customer260.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer260 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer261.java b/jpa/deferred/src/main/java/example/model/Customer261.java
index 72e2b37ed..486f19320 100644
--- a/jpa/deferred/src/main/java/example/model/Customer261.java
+++ b/jpa/deferred/src/main/java/example/model/Customer261.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer261 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer262.java b/jpa/deferred/src/main/java/example/model/Customer262.java
index a880cde51..15504c4e4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer262.java
+++ b/jpa/deferred/src/main/java/example/model/Customer262.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer262 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer263.java b/jpa/deferred/src/main/java/example/model/Customer263.java
index 2d6fa4ae2..6534e5a1a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer263.java
+++ b/jpa/deferred/src/main/java/example/model/Customer263.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer263 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer264.java b/jpa/deferred/src/main/java/example/model/Customer264.java
index b9ca3b080..b1d880856 100644
--- a/jpa/deferred/src/main/java/example/model/Customer264.java
+++ b/jpa/deferred/src/main/java/example/model/Customer264.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer264 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer265.java b/jpa/deferred/src/main/java/example/model/Customer265.java
index f885040c3..fc5f00fa0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer265.java
+++ b/jpa/deferred/src/main/java/example/model/Customer265.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer265 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer266.java b/jpa/deferred/src/main/java/example/model/Customer266.java
index 554b496bc..105a6cbac 100644
--- a/jpa/deferred/src/main/java/example/model/Customer266.java
+++ b/jpa/deferred/src/main/java/example/model/Customer266.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer266 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer267.java b/jpa/deferred/src/main/java/example/model/Customer267.java
index 774549723..7cee13c4a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer267.java
+++ b/jpa/deferred/src/main/java/example/model/Customer267.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer267 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer268.java b/jpa/deferred/src/main/java/example/model/Customer268.java
index e4abe3799..ead2ea00b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer268.java
+++ b/jpa/deferred/src/main/java/example/model/Customer268.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer268 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer269.java b/jpa/deferred/src/main/java/example/model/Customer269.java
index d65246886..928398b07 100644
--- a/jpa/deferred/src/main/java/example/model/Customer269.java
+++ b/jpa/deferred/src/main/java/example/model/Customer269.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer269 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer27.java b/jpa/deferred/src/main/java/example/model/Customer27.java
index 1030a81d1..f886fe914 100644
--- a/jpa/deferred/src/main/java/example/model/Customer27.java
+++ b/jpa/deferred/src/main/java/example/model/Customer27.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer27 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer270.java b/jpa/deferred/src/main/java/example/model/Customer270.java
index c3d13a13f..b2d5734d0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer270.java
+++ b/jpa/deferred/src/main/java/example/model/Customer270.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer270 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer271.java b/jpa/deferred/src/main/java/example/model/Customer271.java
index 4412c83f7..3c08ff045 100644
--- a/jpa/deferred/src/main/java/example/model/Customer271.java
+++ b/jpa/deferred/src/main/java/example/model/Customer271.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer271 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer272.java b/jpa/deferred/src/main/java/example/model/Customer272.java
index cb89210c5..4b22bd58f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer272.java
+++ b/jpa/deferred/src/main/java/example/model/Customer272.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer272 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer273.java b/jpa/deferred/src/main/java/example/model/Customer273.java
index 11e462c38..aebf7fab5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer273.java
+++ b/jpa/deferred/src/main/java/example/model/Customer273.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer273 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer274.java b/jpa/deferred/src/main/java/example/model/Customer274.java
index 4e1f51b34..18efd6fe9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer274.java
+++ b/jpa/deferred/src/main/java/example/model/Customer274.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer274 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer275.java b/jpa/deferred/src/main/java/example/model/Customer275.java
index 421374d77..4d0a892c6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer275.java
+++ b/jpa/deferred/src/main/java/example/model/Customer275.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer275 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer276.java b/jpa/deferred/src/main/java/example/model/Customer276.java
index d66331bd7..bf9b3bf08 100644
--- a/jpa/deferred/src/main/java/example/model/Customer276.java
+++ b/jpa/deferred/src/main/java/example/model/Customer276.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer276 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer277.java b/jpa/deferred/src/main/java/example/model/Customer277.java
index d84898c2e..f1dda49f9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer277.java
+++ b/jpa/deferred/src/main/java/example/model/Customer277.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer277 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer278.java b/jpa/deferred/src/main/java/example/model/Customer278.java
index e24c889db..bc417fe55 100644
--- a/jpa/deferred/src/main/java/example/model/Customer278.java
+++ b/jpa/deferred/src/main/java/example/model/Customer278.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer278 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer279.java b/jpa/deferred/src/main/java/example/model/Customer279.java
index bd8a4b80a..2a3c85bd3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer279.java
+++ b/jpa/deferred/src/main/java/example/model/Customer279.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer279 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer28.java b/jpa/deferred/src/main/java/example/model/Customer28.java
index 793f32ff2..080e1341e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer28.java
+++ b/jpa/deferred/src/main/java/example/model/Customer28.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer28 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer280.java b/jpa/deferred/src/main/java/example/model/Customer280.java
index 24aa8f06c..4997125b4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer280.java
+++ b/jpa/deferred/src/main/java/example/model/Customer280.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer280 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer281.java b/jpa/deferred/src/main/java/example/model/Customer281.java
index 9c6ae60ba..326d088dc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer281.java
+++ b/jpa/deferred/src/main/java/example/model/Customer281.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer281 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer282.java b/jpa/deferred/src/main/java/example/model/Customer282.java
index 0659a2b40..dcb2e0d4c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer282.java
+++ b/jpa/deferred/src/main/java/example/model/Customer282.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer282 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer283.java b/jpa/deferred/src/main/java/example/model/Customer283.java
index 8bb0bab9c..e53f35ba7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer283.java
+++ b/jpa/deferred/src/main/java/example/model/Customer283.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer283 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer284.java b/jpa/deferred/src/main/java/example/model/Customer284.java
index 08468f739..35c5bbe8a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer284.java
+++ b/jpa/deferred/src/main/java/example/model/Customer284.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer284 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer285.java b/jpa/deferred/src/main/java/example/model/Customer285.java
index ff5a2d0b7..f65e61b3a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer285.java
+++ b/jpa/deferred/src/main/java/example/model/Customer285.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer285 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer286.java b/jpa/deferred/src/main/java/example/model/Customer286.java
index 72f318773..047c0563d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer286.java
+++ b/jpa/deferred/src/main/java/example/model/Customer286.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer286 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer287.java b/jpa/deferred/src/main/java/example/model/Customer287.java
index 5995dc47b..82b7af70d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer287.java
+++ b/jpa/deferred/src/main/java/example/model/Customer287.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer287 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer288.java b/jpa/deferred/src/main/java/example/model/Customer288.java
index 7658ef719..588754a39 100644
--- a/jpa/deferred/src/main/java/example/model/Customer288.java
+++ b/jpa/deferred/src/main/java/example/model/Customer288.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer288 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer289.java b/jpa/deferred/src/main/java/example/model/Customer289.java
index 1c7bbab31..c1e1c8cd9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer289.java
+++ b/jpa/deferred/src/main/java/example/model/Customer289.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer289 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer29.java b/jpa/deferred/src/main/java/example/model/Customer29.java
index ba9e55d66..94632a4cd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer29.java
+++ b/jpa/deferred/src/main/java/example/model/Customer29.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer29 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer290.java b/jpa/deferred/src/main/java/example/model/Customer290.java
index ec64ca3ad..6734cd786 100644
--- a/jpa/deferred/src/main/java/example/model/Customer290.java
+++ b/jpa/deferred/src/main/java/example/model/Customer290.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer290 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer291.java b/jpa/deferred/src/main/java/example/model/Customer291.java
index 7033832ae..6ae9fb9da 100644
--- a/jpa/deferred/src/main/java/example/model/Customer291.java
+++ b/jpa/deferred/src/main/java/example/model/Customer291.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer291 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer292.java b/jpa/deferred/src/main/java/example/model/Customer292.java
index ed02f3f11..419ebd830 100644
--- a/jpa/deferred/src/main/java/example/model/Customer292.java
+++ b/jpa/deferred/src/main/java/example/model/Customer292.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer292 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer293.java b/jpa/deferred/src/main/java/example/model/Customer293.java
index b69142c33..f326bd961 100644
--- a/jpa/deferred/src/main/java/example/model/Customer293.java
+++ b/jpa/deferred/src/main/java/example/model/Customer293.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer293 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer294.java b/jpa/deferred/src/main/java/example/model/Customer294.java
index 755006a8e..195db0fd9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer294.java
+++ b/jpa/deferred/src/main/java/example/model/Customer294.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer294 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer295.java b/jpa/deferred/src/main/java/example/model/Customer295.java
index bae1f375c..90f4d57d7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer295.java
+++ b/jpa/deferred/src/main/java/example/model/Customer295.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer295 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer296.java b/jpa/deferred/src/main/java/example/model/Customer296.java
index a154a06ef..3ff495577 100644
--- a/jpa/deferred/src/main/java/example/model/Customer296.java
+++ b/jpa/deferred/src/main/java/example/model/Customer296.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer296 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer297.java b/jpa/deferred/src/main/java/example/model/Customer297.java
index 181ca72bf..828f35fb2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer297.java
+++ b/jpa/deferred/src/main/java/example/model/Customer297.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer297 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer298.java b/jpa/deferred/src/main/java/example/model/Customer298.java
index 568b99944..e72f2b454 100644
--- a/jpa/deferred/src/main/java/example/model/Customer298.java
+++ b/jpa/deferred/src/main/java/example/model/Customer298.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer298 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer299.java b/jpa/deferred/src/main/java/example/model/Customer299.java
index 316b47fc2..56a292c5b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer299.java
+++ b/jpa/deferred/src/main/java/example/model/Customer299.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer299 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer3.java b/jpa/deferred/src/main/java/example/model/Customer3.java
index 653b182eb..de0d09107 100644
--- a/jpa/deferred/src/main/java/example/model/Customer3.java
+++ b/jpa/deferred/src/main/java/example/model/Customer3.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer3 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer30.java b/jpa/deferred/src/main/java/example/model/Customer30.java
index 3be5e657d..d32bbfede 100644
--- a/jpa/deferred/src/main/java/example/model/Customer30.java
+++ b/jpa/deferred/src/main/java/example/model/Customer30.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer30 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer300.java b/jpa/deferred/src/main/java/example/model/Customer300.java
index 5d3106da2..6f3d3927e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer300.java
+++ b/jpa/deferred/src/main/java/example/model/Customer300.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer300 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer301.java b/jpa/deferred/src/main/java/example/model/Customer301.java
index 37d0d683f..241184601 100644
--- a/jpa/deferred/src/main/java/example/model/Customer301.java
+++ b/jpa/deferred/src/main/java/example/model/Customer301.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer301 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer302.java b/jpa/deferred/src/main/java/example/model/Customer302.java
index c712637fd..ec4c54b34 100644
--- a/jpa/deferred/src/main/java/example/model/Customer302.java
+++ b/jpa/deferred/src/main/java/example/model/Customer302.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer302 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer303.java b/jpa/deferred/src/main/java/example/model/Customer303.java
index ab1789345..da5b7503e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer303.java
+++ b/jpa/deferred/src/main/java/example/model/Customer303.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer303 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer304.java b/jpa/deferred/src/main/java/example/model/Customer304.java
index 460d273a9..dc1c25f84 100644
--- a/jpa/deferred/src/main/java/example/model/Customer304.java
+++ b/jpa/deferred/src/main/java/example/model/Customer304.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer304 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer305.java b/jpa/deferred/src/main/java/example/model/Customer305.java
index 7296299f7..761601ee1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer305.java
+++ b/jpa/deferred/src/main/java/example/model/Customer305.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer305 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer306.java b/jpa/deferred/src/main/java/example/model/Customer306.java
index cc28d5fce..ce73d111a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer306.java
+++ b/jpa/deferred/src/main/java/example/model/Customer306.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer306 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer307.java b/jpa/deferred/src/main/java/example/model/Customer307.java
index 7ff4635f1..d6ad4b195 100644
--- a/jpa/deferred/src/main/java/example/model/Customer307.java
+++ b/jpa/deferred/src/main/java/example/model/Customer307.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer307 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer308.java b/jpa/deferred/src/main/java/example/model/Customer308.java
index 0bad07e18..9f66858c2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer308.java
+++ b/jpa/deferred/src/main/java/example/model/Customer308.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer308 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer309.java b/jpa/deferred/src/main/java/example/model/Customer309.java
index ad2812df7..2a0e42acd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer309.java
+++ b/jpa/deferred/src/main/java/example/model/Customer309.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer309 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer31.java b/jpa/deferred/src/main/java/example/model/Customer31.java
index e81e2a5ea..ea3e12346 100644
--- a/jpa/deferred/src/main/java/example/model/Customer31.java
+++ b/jpa/deferred/src/main/java/example/model/Customer31.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer31 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer310.java b/jpa/deferred/src/main/java/example/model/Customer310.java
index 5f845435c..950e6ddac 100644
--- a/jpa/deferred/src/main/java/example/model/Customer310.java
+++ b/jpa/deferred/src/main/java/example/model/Customer310.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer310 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer311.java b/jpa/deferred/src/main/java/example/model/Customer311.java
index 4f694e23c..ecbaf4e28 100644
--- a/jpa/deferred/src/main/java/example/model/Customer311.java
+++ b/jpa/deferred/src/main/java/example/model/Customer311.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer311 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer312.java b/jpa/deferred/src/main/java/example/model/Customer312.java
index 6648d952a..206c82b93 100644
--- a/jpa/deferred/src/main/java/example/model/Customer312.java
+++ b/jpa/deferred/src/main/java/example/model/Customer312.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer312 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer313.java b/jpa/deferred/src/main/java/example/model/Customer313.java
index e460e8ac4..6db52d0ba 100644
--- a/jpa/deferred/src/main/java/example/model/Customer313.java
+++ b/jpa/deferred/src/main/java/example/model/Customer313.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer313 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer314.java b/jpa/deferred/src/main/java/example/model/Customer314.java
index ab0ac53e5..c00ef03fe 100644
--- a/jpa/deferred/src/main/java/example/model/Customer314.java
+++ b/jpa/deferred/src/main/java/example/model/Customer314.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer314 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer315.java b/jpa/deferred/src/main/java/example/model/Customer315.java
index 9b3694ac8..187629fd1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer315.java
+++ b/jpa/deferred/src/main/java/example/model/Customer315.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer315 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer316.java b/jpa/deferred/src/main/java/example/model/Customer316.java
index 732331290..4ac7c34f6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer316.java
+++ b/jpa/deferred/src/main/java/example/model/Customer316.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer316 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer317.java b/jpa/deferred/src/main/java/example/model/Customer317.java
index 4e555481e..abe97e900 100644
--- a/jpa/deferred/src/main/java/example/model/Customer317.java
+++ b/jpa/deferred/src/main/java/example/model/Customer317.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer317 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer318.java b/jpa/deferred/src/main/java/example/model/Customer318.java
index 622adc4d3..7a2588a41 100644
--- a/jpa/deferred/src/main/java/example/model/Customer318.java
+++ b/jpa/deferred/src/main/java/example/model/Customer318.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer318 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer319.java b/jpa/deferred/src/main/java/example/model/Customer319.java
index 7027a28d3..09954f6f3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer319.java
+++ b/jpa/deferred/src/main/java/example/model/Customer319.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer319 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer32.java b/jpa/deferred/src/main/java/example/model/Customer32.java
index 0188cda41..37edfab3b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer32.java
+++ b/jpa/deferred/src/main/java/example/model/Customer32.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer32 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer320.java b/jpa/deferred/src/main/java/example/model/Customer320.java
index 00ceea235..ff0a14050 100644
--- a/jpa/deferred/src/main/java/example/model/Customer320.java
+++ b/jpa/deferred/src/main/java/example/model/Customer320.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer320 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer321.java b/jpa/deferred/src/main/java/example/model/Customer321.java
index d0c453a30..d9d7d7f3c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer321.java
+++ b/jpa/deferred/src/main/java/example/model/Customer321.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer321 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer322.java b/jpa/deferred/src/main/java/example/model/Customer322.java
index 623449638..2f6c7f4fe 100644
--- a/jpa/deferred/src/main/java/example/model/Customer322.java
+++ b/jpa/deferred/src/main/java/example/model/Customer322.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer322 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer323.java b/jpa/deferred/src/main/java/example/model/Customer323.java
index ca2639078..a0f038ad6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer323.java
+++ b/jpa/deferred/src/main/java/example/model/Customer323.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer323 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer324.java b/jpa/deferred/src/main/java/example/model/Customer324.java
index e898ccb4d..593a4e8ad 100644
--- a/jpa/deferred/src/main/java/example/model/Customer324.java
+++ b/jpa/deferred/src/main/java/example/model/Customer324.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer324 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer325.java b/jpa/deferred/src/main/java/example/model/Customer325.java
index 9fc75a656..1d6fd73fb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer325.java
+++ b/jpa/deferred/src/main/java/example/model/Customer325.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer325 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer326.java b/jpa/deferred/src/main/java/example/model/Customer326.java
index ba731d507..b4d19986c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer326.java
+++ b/jpa/deferred/src/main/java/example/model/Customer326.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer326 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer327.java b/jpa/deferred/src/main/java/example/model/Customer327.java
index 42e77247d..d8af74bb0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer327.java
+++ b/jpa/deferred/src/main/java/example/model/Customer327.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer327 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer328.java b/jpa/deferred/src/main/java/example/model/Customer328.java
index f1c212093..ca959d769 100644
--- a/jpa/deferred/src/main/java/example/model/Customer328.java
+++ b/jpa/deferred/src/main/java/example/model/Customer328.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer328 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer329.java b/jpa/deferred/src/main/java/example/model/Customer329.java
index 62035f9c3..735c261c0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer329.java
+++ b/jpa/deferred/src/main/java/example/model/Customer329.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer329 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer33.java b/jpa/deferred/src/main/java/example/model/Customer33.java
index 356762fb3..9f96832bd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer33.java
+++ b/jpa/deferred/src/main/java/example/model/Customer33.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer33 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer330.java b/jpa/deferred/src/main/java/example/model/Customer330.java
index ecdc8d06f..a3168e328 100644
--- a/jpa/deferred/src/main/java/example/model/Customer330.java
+++ b/jpa/deferred/src/main/java/example/model/Customer330.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer330 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer331.java b/jpa/deferred/src/main/java/example/model/Customer331.java
index e5b0efebc..381322d34 100644
--- a/jpa/deferred/src/main/java/example/model/Customer331.java
+++ b/jpa/deferred/src/main/java/example/model/Customer331.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer331 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer332.java b/jpa/deferred/src/main/java/example/model/Customer332.java
index e4c28dc4f..ec87a7727 100644
--- a/jpa/deferred/src/main/java/example/model/Customer332.java
+++ b/jpa/deferred/src/main/java/example/model/Customer332.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer332 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer333.java b/jpa/deferred/src/main/java/example/model/Customer333.java
index cf204b135..fffa5d8a8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer333.java
+++ b/jpa/deferred/src/main/java/example/model/Customer333.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer333 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer334.java b/jpa/deferred/src/main/java/example/model/Customer334.java
index fad0d29bf..d5350df29 100644
--- a/jpa/deferred/src/main/java/example/model/Customer334.java
+++ b/jpa/deferred/src/main/java/example/model/Customer334.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer334 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer335.java b/jpa/deferred/src/main/java/example/model/Customer335.java
index fb2187c7a..e42d38531 100644
--- a/jpa/deferred/src/main/java/example/model/Customer335.java
+++ b/jpa/deferred/src/main/java/example/model/Customer335.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer335 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer336.java b/jpa/deferred/src/main/java/example/model/Customer336.java
index b112da87a..8cf8101bc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer336.java
+++ b/jpa/deferred/src/main/java/example/model/Customer336.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer336 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer337.java b/jpa/deferred/src/main/java/example/model/Customer337.java
index 40eee20a7..68dc10d76 100644
--- a/jpa/deferred/src/main/java/example/model/Customer337.java
+++ b/jpa/deferred/src/main/java/example/model/Customer337.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer337 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer338.java b/jpa/deferred/src/main/java/example/model/Customer338.java
index b0a188600..ee03f81ff 100644
--- a/jpa/deferred/src/main/java/example/model/Customer338.java
+++ b/jpa/deferred/src/main/java/example/model/Customer338.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer338 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer339.java b/jpa/deferred/src/main/java/example/model/Customer339.java
index 5d8c1c867..9b44ea5ae 100644
--- a/jpa/deferred/src/main/java/example/model/Customer339.java
+++ b/jpa/deferred/src/main/java/example/model/Customer339.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer339 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer34.java b/jpa/deferred/src/main/java/example/model/Customer34.java
index 73ee4b9f1..5d17e5687 100644
--- a/jpa/deferred/src/main/java/example/model/Customer34.java
+++ b/jpa/deferred/src/main/java/example/model/Customer34.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer34 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer340.java b/jpa/deferred/src/main/java/example/model/Customer340.java
index 67bb2ebe7..1cce08d13 100644
--- a/jpa/deferred/src/main/java/example/model/Customer340.java
+++ b/jpa/deferred/src/main/java/example/model/Customer340.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer340 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer341.java b/jpa/deferred/src/main/java/example/model/Customer341.java
index 830d91069..1a591b1ae 100644
--- a/jpa/deferred/src/main/java/example/model/Customer341.java
+++ b/jpa/deferred/src/main/java/example/model/Customer341.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer341 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer342.java b/jpa/deferred/src/main/java/example/model/Customer342.java
index 143c3089a..4949b4e9c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer342.java
+++ b/jpa/deferred/src/main/java/example/model/Customer342.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer342 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer343.java b/jpa/deferred/src/main/java/example/model/Customer343.java
index cdf860d4d..b6bb024ed 100644
--- a/jpa/deferred/src/main/java/example/model/Customer343.java
+++ b/jpa/deferred/src/main/java/example/model/Customer343.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer343 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer344.java b/jpa/deferred/src/main/java/example/model/Customer344.java
index ce99ea97a..3190a7985 100644
--- a/jpa/deferred/src/main/java/example/model/Customer344.java
+++ b/jpa/deferred/src/main/java/example/model/Customer344.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer344 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer345.java b/jpa/deferred/src/main/java/example/model/Customer345.java
index 2e9539b0a..29dd1cd52 100644
--- a/jpa/deferred/src/main/java/example/model/Customer345.java
+++ b/jpa/deferred/src/main/java/example/model/Customer345.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer345 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer346.java b/jpa/deferred/src/main/java/example/model/Customer346.java
index d6f8e36e2..1fdd99797 100644
--- a/jpa/deferred/src/main/java/example/model/Customer346.java
+++ b/jpa/deferred/src/main/java/example/model/Customer346.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer346 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer347.java b/jpa/deferred/src/main/java/example/model/Customer347.java
index ca3251aa3..a00d5ae97 100644
--- a/jpa/deferred/src/main/java/example/model/Customer347.java
+++ b/jpa/deferred/src/main/java/example/model/Customer347.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer347 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer348.java b/jpa/deferred/src/main/java/example/model/Customer348.java
index 3f3446b15..80bd08037 100644
--- a/jpa/deferred/src/main/java/example/model/Customer348.java
+++ b/jpa/deferred/src/main/java/example/model/Customer348.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer348 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer349.java b/jpa/deferred/src/main/java/example/model/Customer349.java
index daa476e6b..d0a7cbed3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer349.java
+++ b/jpa/deferred/src/main/java/example/model/Customer349.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer349 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer35.java b/jpa/deferred/src/main/java/example/model/Customer35.java
index 5b8d9a4cc..25467b45b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer35.java
+++ b/jpa/deferred/src/main/java/example/model/Customer35.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer35 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer350.java b/jpa/deferred/src/main/java/example/model/Customer350.java
index 29e588fd1..d37b47eff 100644
--- a/jpa/deferred/src/main/java/example/model/Customer350.java
+++ b/jpa/deferred/src/main/java/example/model/Customer350.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer350 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer351.java b/jpa/deferred/src/main/java/example/model/Customer351.java
index 645b3be51..859dccfca 100644
--- a/jpa/deferred/src/main/java/example/model/Customer351.java
+++ b/jpa/deferred/src/main/java/example/model/Customer351.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer351 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer352.java b/jpa/deferred/src/main/java/example/model/Customer352.java
index 497f9f62d..45108dfb3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer352.java
+++ b/jpa/deferred/src/main/java/example/model/Customer352.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer352 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer353.java b/jpa/deferred/src/main/java/example/model/Customer353.java
index a14b29c47..6dc0e078c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer353.java
+++ b/jpa/deferred/src/main/java/example/model/Customer353.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer353 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer354.java b/jpa/deferred/src/main/java/example/model/Customer354.java
index 0ce20605a..32cb644d9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer354.java
+++ b/jpa/deferred/src/main/java/example/model/Customer354.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer354 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer355.java b/jpa/deferred/src/main/java/example/model/Customer355.java
index 71130cc4d..51e0102d5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer355.java
+++ b/jpa/deferred/src/main/java/example/model/Customer355.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer355 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer356.java b/jpa/deferred/src/main/java/example/model/Customer356.java
index b65217c47..1d4525318 100644
--- a/jpa/deferred/src/main/java/example/model/Customer356.java
+++ b/jpa/deferred/src/main/java/example/model/Customer356.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer356 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer357.java b/jpa/deferred/src/main/java/example/model/Customer357.java
index 875997f70..450bd4825 100644
--- a/jpa/deferred/src/main/java/example/model/Customer357.java
+++ b/jpa/deferred/src/main/java/example/model/Customer357.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer357 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer358.java b/jpa/deferred/src/main/java/example/model/Customer358.java
index 1b532b6d6..6f8cbb2ea 100644
--- a/jpa/deferred/src/main/java/example/model/Customer358.java
+++ b/jpa/deferred/src/main/java/example/model/Customer358.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer358 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer359.java b/jpa/deferred/src/main/java/example/model/Customer359.java
index 48fddbc26..1e7d29369 100644
--- a/jpa/deferred/src/main/java/example/model/Customer359.java
+++ b/jpa/deferred/src/main/java/example/model/Customer359.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer359 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer36.java b/jpa/deferred/src/main/java/example/model/Customer36.java
index b54206345..6fab217d3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer36.java
+++ b/jpa/deferred/src/main/java/example/model/Customer36.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer36 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer360.java b/jpa/deferred/src/main/java/example/model/Customer360.java
index 9a4ea3819..2bc97c26a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer360.java
+++ b/jpa/deferred/src/main/java/example/model/Customer360.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer360 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer361.java b/jpa/deferred/src/main/java/example/model/Customer361.java
index 3fcfbb12f..686682af9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer361.java
+++ b/jpa/deferred/src/main/java/example/model/Customer361.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer361 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer362.java b/jpa/deferred/src/main/java/example/model/Customer362.java
index f7223a12d..f578b1481 100644
--- a/jpa/deferred/src/main/java/example/model/Customer362.java
+++ b/jpa/deferred/src/main/java/example/model/Customer362.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer362 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer363.java b/jpa/deferred/src/main/java/example/model/Customer363.java
index 1971ee4e8..2bf933eb9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer363.java
+++ b/jpa/deferred/src/main/java/example/model/Customer363.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer363 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer364.java b/jpa/deferred/src/main/java/example/model/Customer364.java
index 12cf26a81..2824890a3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer364.java
+++ b/jpa/deferred/src/main/java/example/model/Customer364.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer364 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer365.java b/jpa/deferred/src/main/java/example/model/Customer365.java
index 7728de740..2bd92dbe3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer365.java
+++ b/jpa/deferred/src/main/java/example/model/Customer365.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer365 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer366.java b/jpa/deferred/src/main/java/example/model/Customer366.java
index 236304904..837738ca7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer366.java
+++ b/jpa/deferred/src/main/java/example/model/Customer366.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer366 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer367.java b/jpa/deferred/src/main/java/example/model/Customer367.java
index 67725dcb3..544d3ead4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer367.java
+++ b/jpa/deferred/src/main/java/example/model/Customer367.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer367 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer368.java b/jpa/deferred/src/main/java/example/model/Customer368.java
index 9a7dd7a0e..8504a3f53 100644
--- a/jpa/deferred/src/main/java/example/model/Customer368.java
+++ b/jpa/deferred/src/main/java/example/model/Customer368.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer368 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer369.java b/jpa/deferred/src/main/java/example/model/Customer369.java
index 922deea6f..6fc3d19b4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer369.java
+++ b/jpa/deferred/src/main/java/example/model/Customer369.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer369 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer37.java b/jpa/deferred/src/main/java/example/model/Customer37.java
index 3303b4b63..0141d9da9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer37.java
+++ b/jpa/deferred/src/main/java/example/model/Customer37.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer37 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer370.java b/jpa/deferred/src/main/java/example/model/Customer370.java
index 1c8d68e03..fb1e73ba3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer370.java
+++ b/jpa/deferred/src/main/java/example/model/Customer370.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer370 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer371.java b/jpa/deferred/src/main/java/example/model/Customer371.java
index 09c90a641..f240cda4e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer371.java
+++ b/jpa/deferred/src/main/java/example/model/Customer371.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer371 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer372.java b/jpa/deferred/src/main/java/example/model/Customer372.java
index 52b130040..9962a61cc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer372.java
+++ b/jpa/deferred/src/main/java/example/model/Customer372.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer372 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer373.java b/jpa/deferred/src/main/java/example/model/Customer373.java
index 8144fd5e4..5eb35f9a3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer373.java
+++ b/jpa/deferred/src/main/java/example/model/Customer373.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer373 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer374.java b/jpa/deferred/src/main/java/example/model/Customer374.java
index 304afe6f7..33bda9eed 100644
--- a/jpa/deferred/src/main/java/example/model/Customer374.java
+++ b/jpa/deferred/src/main/java/example/model/Customer374.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer374 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer375.java b/jpa/deferred/src/main/java/example/model/Customer375.java
index 9ea958ec8..4ed7f8c58 100644
--- a/jpa/deferred/src/main/java/example/model/Customer375.java
+++ b/jpa/deferred/src/main/java/example/model/Customer375.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer375 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer376.java b/jpa/deferred/src/main/java/example/model/Customer376.java
index de929b4db..880cbb419 100644
--- a/jpa/deferred/src/main/java/example/model/Customer376.java
+++ b/jpa/deferred/src/main/java/example/model/Customer376.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer376 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer377.java b/jpa/deferred/src/main/java/example/model/Customer377.java
index d704bdfae..9b33ff287 100644
--- a/jpa/deferred/src/main/java/example/model/Customer377.java
+++ b/jpa/deferred/src/main/java/example/model/Customer377.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer377 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer378.java b/jpa/deferred/src/main/java/example/model/Customer378.java
index 582fa17f6..eb2e1b5b9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer378.java
+++ b/jpa/deferred/src/main/java/example/model/Customer378.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer378 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer379.java b/jpa/deferred/src/main/java/example/model/Customer379.java
index 432be0734..f1e82f979 100644
--- a/jpa/deferred/src/main/java/example/model/Customer379.java
+++ b/jpa/deferred/src/main/java/example/model/Customer379.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer379 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer38.java b/jpa/deferred/src/main/java/example/model/Customer38.java
index e1545305b..ec642608c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer38.java
+++ b/jpa/deferred/src/main/java/example/model/Customer38.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer38 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer380.java b/jpa/deferred/src/main/java/example/model/Customer380.java
index 50bc35791..1bd4cacec 100644
--- a/jpa/deferred/src/main/java/example/model/Customer380.java
+++ b/jpa/deferred/src/main/java/example/model/Customer380.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer380 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer381.java b/jpa/deferred/src/main/java/example/model/Customer381.java
index 3db6d5590..bfb293afa 100644
--- a/jpa/deferred/src/main/java/example/model/Customer381.java
+++ b/jpa/deferred/src/main/java/example/model/Customer381.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer381 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer382.java b/jpa/deferred/src/main/java/example/model/Customer382.java
index d5970aff8..dce83dba9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer382.java
+++ b/jpa/deferred/src/main/java/example/model/Customer382.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer382 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer383.java b/jpa/deferred/src/main/java/example/model/Customer383.java
index a5b37e3dc..d2d9ddde4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer383.java
+++ b/jpa/deferred/src/main/java/example/model/Customer383.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer383 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer384.java b/jpa/deferred/src/main/java/example/model/Customer384.java
index f72c1c794..1d617f59d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer384.java
+++ b/jpa/deferred/src/main/java/example/model/Customer384.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer384 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer385.java b/jpa/deferred/src/main/java/example/model/Customer385.java
index 46ebd985e..c47a63577 100644
--- a/jpa/deferred/src/main/java/example/model/Customer385.java
+++ b/jpa/deferred/src/main/java/example/model/Customer385.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer385 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer386.java b/jpa/deferred/src/main/java/example/model/Customer386.java
index 741e7e519..4736df57a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer386.java
+++ b/jpa/deferred/src/main/java/example/model/Customer386.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer386 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer387.java b/jpa/deferred/src/main/java/example/model/Customer387.java
index dd3bbb680..d7300b5a0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer387.java
+++ b/jpa/deferred/src/main/java/example/model/Customer387.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer387 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer388.java b/jpa/deferred/src/main/java/example/model/Customer388.java
index f16a56c2d..b2be9263f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer388.java
+++ b/jpa/deferred/src/main/java/example/model/Customer388.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer388 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer389.java b/jpa/deferred/src/main/java/example/model/Customer389.java
index 2cd22ef35..393f26899 100644
--- a/jpa/deferred/src/main/java/example/model/Customer389.java
+++ b/jpa/deferred/src/main/java/example/model/Customer389.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer389 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer39.java b/jpa/deferred/src/main/java/example/model/Customer39.java
index 177253561..f8d32f305 100644
--- a/jpa/deferred/src/main/java/example/model/Customer39.java
+++ b/jpa/deferred/src/main/java/example/model/Customer39.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer39 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer390.java b/jpa/deferred/src/main/java/example/model/Customer390.java
index f15891ff4..ac1f010fa 100644
--- a/jpa/deferred/src/main/java/example/model/Customer390.java
+++ b/jpa/deferred/src/main/java/example/model/Customer390.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer390 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer391.java b/jpa/deferred/src/main/java/example/model/Customer391.java
index abc80814c..106034374 100644
--- a/jpa/deferred/src/main/java/example/model/Customer391.java
+++ b/jpa/deferred/src/main/java/example/model/Customer391.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer391 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer392.java b/jpa/deferred/src/main/java/example/model/Customer392.java
index a73631e0e..108527591 100644
--- a/jpa/deferred/src/main/java/example/model/Customer392.java
+++ b/jpa/deferred/src/main/java/example/model/Customer392.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer392 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer393.java b/jpa/deferred/src/main/java/example/model/Customer393.java
index 90df70b06..6aff5dd46 100644
--- a/jpa/deferred/src/main/java/example/model/Customer393.java
+++ b/jpa/deferred/src/main/java/example/model/Customer393.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer393 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer394.java b/jpa/deferred/src/main/java/example/model/Customer394.java
index a821cdbd6..34b049f35 100644
--- a/jpa/deferred/src/main/java/example/model/Customer394.java
+++ b/jpa/deferred/src/main/java/example/model/Customer394.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer394 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer395.java b/jpa/deferred/src/main/java/example/model/Customer395.java
index 2d130f3b9..262ad3d23 100644
--- a/jpa/deferred/src/main/java/example/model/Customer395.java
+++ b/jpa/deferred/src/main/java/example/model/Customer395.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer395 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer396.java b/jpa/deferred/src/main/java/example/model/Customer396.java
index 3e024ec40..5afe22e90 100644
--- a/jpa/deferred/src/main/java/example/model/Customer396.java
+++ b/jpa/deferred/src/main/java/example/model/Customer396.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer396 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer397.java b/jpa/deferred/src/main/java/example/model/Customer397.java
index a3a3c11f4..e709661c5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer397.java
+++ b/jpa/deferred/src/main/java/example/model/Customer397.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer397 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer398.java b/jpa/deferred/src/main/java/example/model/Customer398.java
index 4c865c82f..5002dba68 100644
--- a/jpa/deferred/src/main/java/example/model/Customer398.java
+++ b/jpa/deferred/src/main/java/example/model/Customer398.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer398 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer399.java b/jpa/deferred/src/main/java/example/model/Customer399.java
index a40eaba36..d2b968c28 100644
--- a/jpa/deferred/src/main/java/example/model/Customer399.java
+++ b/jpa/deferred/src/main/java/example/model/Customer399.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer399 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer4.java b/jpa/deferred/src/main/java/example/model/Customer4.java
index 2cf5b04a6..5f4be95bb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer4.java
+++ b/jpa/deferred/src/main/java/example/model/Customer4.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer4 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer40.java b/jpa/deferred/src/main/java/example/model/Customer40.java
index 7ac506c11..23f2a89ba 100644
--- a/jpa/deferred/src/main/java/example/model/Customer40.java
+++ b/jpa/deferred/src/main/java/example/model/Customer40.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer40 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer400.java b/jpa/deferred/src/main/java/example/model/Customer400.java
index 9e51e1290..c85f3546e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer400.java
+++ b/jpa/deferred/src/main/java/example/model/Customer400.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer400 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer401.java b/jpa/deferred/src/main/java/example/model/Customer401.java
index 3239211e4..41494a2ff 100644
--- a/jpa/deferred/src/main/java/example/model/Customer401.java
+++ b/jpa/deferred/src/main/java/example/model/Customer401.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer401 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer402.java b/jpa/deferred/src/main/java/example/model/Customer402.java
index 31ba29811..e0b33a1a3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer402.java
+++ b/jpa/deferred/src/main/java/example/model/Customer402.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer402 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer403.java b/jpa/deferred/src/main/java/example/model/Customer403.java
index b67555681..63a34ac73 100644
--- a/jpa/deferred/src/main/java/example/model/Customer403.java
+++ b/jpa/deferred/src/main/java/example/model/Customer403.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer403 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer404.java b/jpa/deferred/src/main/java/example/model/Customer404.java
index e69648616..bf4c4dd33 100644
--- a/jpa/deferred/src/main/java/example/model/Customer404.java
+++ b/jpa/deferred/src/main/java/example/model/Customer404.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer404 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer405.java b/jpa/deferred/src/main/java/example/model/Customer405.java
index 3eb21e7f7..c1168478a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer405.java
+++ b/jpa/deferred/src/main/java/example/model/Customer405.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer405 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer406.java b/jpa/deferred/src/main/java/example/model/Customer406.java
index 1906be415..97bf96556 100644
--- a/jpa/deferred/src/main/java/example/model/Customer406.java
+++ b/jpa/deferred/src/main/java/example/model/Customer406.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer406 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer407.java b/jpa/deferred/src/main/java/example/model/Customer407.java
index 069899c57..d4bad20a0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer407.java
+++ b/jpa/deferred/src/main/java/example/model/Customer407.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer407 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer408.java b/jpa/deferred/src/main/java/example/model/Customer408.java
index ef70eea35..ec2256fb9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer408.java
+++ b/jpa/deferred/src/main/java/example/model/Customer408.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer408 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer409.java b/jpa/deferred/src/main/java/example/model/Customer409.java
index ab3e19b90..b19f65edb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer409.java
+++ b/jpa/deferred/src/main/java/example/model/Customer409.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer409 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer41.java b/jpa/deferred/src/main/java/example/model/Customer41.java
index 5e95a1ac3..cd99b6b12 100644
--- a/jpa/deferred/src/main/java/example/model/Customer41.java
+++ b/jpa/deferred/src/main/java/example/model/Customer41.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer41 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer410.java b/jpa/deferred/src/main/java/example/model/Customer410.java
index 776ec1d3d..b2d644e56 100644
--- a/jpa/deferred/src/main/java/example/model/Customer410.java
+++ b/jpa/deferred/src/main/java/example/model/Customer410.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer410 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer411.java b/jpa/deferred/src/main/java/example/model/Customer411.java
index b1523685b..e6604e8ad 100644
--- a/jpa/deferred/src/main/java/example/model/Customer411.java
+++ b/jpa/deferred/src/main/java/example/model/Customer411.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer411 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer412.java b/jpa/deferred/src/main/java/example/model/Customer412.java
index 6ee8bed93..72fd9db3e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer412.java
+++ b/jpa/deferred/src/main/java/example/model/Customer412.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer412 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer413.java b/jpa/deferred/src/main/java/example/model/Customer413.java
index 379b732da..fdf4548d8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer413.java
+++ b/jpa/deferred/src/main/java/example/model/Customer413.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer413 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer414.java b/jpa/deferred/src/main/java/example/model/Customer414.java
index 9189e0a19..4b09f01da 100644
--- a/jpa/deferred/src/main/java/example/model/Customer414.java
+++ b/jpa/deferred/src/main/java/example/model/Customer414.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer414 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer415.java b/jpa/deferred/src/main/java/example/model/Customer415.java
index d3fe21116..73c7990b8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer415.java
+++ b/jpa/deferred/src/main/java/example/model/Customer415.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer415 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer416.java b/jpa/deferred/src/main/java/example/model/Customer416.java
index d0542ae75..48d6c2f2d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer416.java
+++ b/jpa/deferred/src/main/java/example/model/Customer416.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer416 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer417.java b/jpa/deferred/src/main/java/example/model/Customer417.java
index 82eccd4e9..989320a2f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer417.java
+++ b/jpa/deferred/src/main/java/example/model/Customer417.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer417 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer418.java b/jpa/deferred/src/main/java/example/model/Customer418.java
index 7a57b3f91..e7c33fdc2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer418.java
+++ b/jpa/deferred/src/main/java/example/model/Customer418.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer418 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer419.java b/jpa/deferred/src/main/java/example/model/Customer419.java
index fad99248e..66cb13653 100644
--- a/jpa/deferred/src/main/java/example/model/Customer419.java
+++ b/jpa/deferred/src/main/java/example/model/Customer419.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer419 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer42.java b/jpa/deferred/src/main/java/example/model/Customer42.java
index 680cc0220..5e900e28c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer42.java
+++ b/jpa/deferred/src/main/java/example/model/Customer42.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer42 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer420.java b/jpa/deferred/src/main/java/example/model/Customer420.java
index e1f1d9a82..ca1a04ccd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer420.java
+++ b/jpa/deferred/src/main/java/example/model/Customer420.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer420 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer421.java b/jpa/deferred/src/main/java/example/model/Customer421.java
index da5ce1bcf..2a8daf524 100644
--- a/jpa/deferred/src/main/java/example/model/Customer421.java
+++ b/jpa/deferred/src/main/java/example/model/Customer421.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer421 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer422.java b/jpa/deferred/src/main/java/example/model/Customer422.java
index d570dda2f..b0c506c37 100644
--- a/jpa/deferred/src/main/java/example/model/Customer422.java
+++ b/jpa/deferred/src/main/java/example/model/Customer422.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer422 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer423.java b/jpa/deferred/src/main/java/example/model/Customer423.java
index e37f610a4..7cb9d5ff7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer423.java
+++ b/jpa/deferred/src/main/java/example/model/Customer423.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer423 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer424.java b/jpa/deferred/src/main/java/example/model/Customer424.java
index cef486cb5..45868521f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer424.java
+++ b/jpa/deferred/src/main/java/example/model/Customer424.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer424 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer425.java b/jpa/deferred/src/main/java/example/model/Customer425.java
index f02733ef1..3a6dbb63d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer425.java
+++ b/jpa/deferred/src/main/java/example/model/Customer425.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer425 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer426.java b/jpa/deferred/src/main/java/example/model/Customer426.java
index 17efd2fd9..66071f82b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer426.java
+++ b/jpa/deferred/src/main/java/example/model/Customer426.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer426 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer427.java b/jpa/deferred/src/main/java/example/model/Customer427.java
index 24cccade4..5561b5e9d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer427.java
+++ b/jpa/deferred/src/main/java/example/model/Customer427.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer427 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer428.java b/jpa/deferred/src/main/java/example/model/Customer428.java
index 4b86fa381..e94842eba 100644
--- a/jpa/deferred/src/main/java/example/model/Customer428.java
+++ b/jpa/deferred/src/main/java/example/model/Customer428.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer428 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer429.java b/jpa/deferred/src/main/java/example/model/Customer429.java
index 46a0b8983..aae36f602 100644
--- a/jpa/deferred/src/main/java/example/model/Customer429.java
+++ b/jpa/deferred/src/main/java/example/model/Customer429.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer429 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer43.java b/jpa/deferred/src/main/java/example/model/Customer43.java
index 95a1a6c24..72219206c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer43.java
+++ b/jpa/deferred/src/main/java/example/model/Customer43.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer43 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer430.java b/jpa/deferred/src/main/java/example/model/Customer430.java
index c8c026167..7ccb265a0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer430.java
+++ b/jpa/deferred/src/main/java/example/model/Customer430.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer430 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer431.java b/jpa/deferred/src/main/java/example/model/Customer431.java
index 255959a82..2faac27bc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer431.java
+++ b/jpa/deferred/src/main/java/example/model/Customer431.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer431 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer432.java b/jpa/deferred/src/main/java/example/model/Customer432.java
index 623b1e4c6..522b4dcd6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer432.java
+++ b/jpa/deferred/src/main/java/example/model/Customer432.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer432 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer433.java b/jpa/deferred/src/main/java/example/model/Customer433.java
index a8748014a..dab431db9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer433.java
+++ b/jpa/deferred/src/main/java/example/model/Customer433.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer433 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer434.java b/jpa/deferred/src/main/java/example/model/Customer434.java
index 402132f60..080d7e53d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer434.java
+++ b/jpa/deferred/src/main/java/example/model/Customer434.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer434 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer435.java b/jpa/deferred/src/main/java/example/model/Customer435.java
index fdd348707..6066c93ea 100644
--- a/jpa/deferred/src/main/java/example/model/Customer435.java
+++ b/jpa/deferred/src/main/java/example/model/Customer435.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer435 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer436.java b/jpa/deferred/src/main/java/example/model/Customer436.java
index 27130376b..530f3921f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer436.java
+++ b/jpa/deferred/src/main/java/example/model/Customer436.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer436 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer437.java b/jpa/deferred/src/main/java/example/model/Customer437.java
index d9a3ff9c6..70ff11265 100644
--- a/jpa/deferred/src/main/java/example/model/Customer437.java
+++ b/jpa/deferred/src/main/java/example/model/Customer437.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer437 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer438.java b/jpa/deferred/src/main/java/example/model/Customer438.java
index 630065039..2e442e30f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer438.java
+++ b/jpa/deferred/src/main/java/example/model/Customer438.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer438 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer439.java b/jpa/deferred/src/main/java/example/model/Customer439.java
index e490112b4..8630c8f70 100644
--- a/jpa/deferred/src/main/java/example/model/Customer439.java
+++ b/jpa/deferred/src/main/java/example/model/Customer439.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer439 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer44.java b/jpa/deferred/src/main/java/example/model/Customer44.java
index f1d89331e..0b5584235 100644
--- a/jpa/deferred/src/main/java/example/model/Customer44.java
+++ b/jpa/deferred/src/main/java/example/model/Customer44.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer44 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer440.java b/jpa/deferred/src/main/java/example/model/Customer440.java
index 25f7f658e..9d12f14c3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer440.java
+++ b/jpa/deferred/src/main/java/example/model/Customer440.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer440 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer441.java b/jpa/deferred/src/main/java/example/model/Customer441.java
index 34f2d3084..f3e774948 100644
--- a/jpa/deferred/src/main/java/example/model/Customer441.java
+++ b/jpa/deferred/src/main/java/example/model/Customer441.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer441 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer442.java b/jpa/deferred/src/main/java/example/model/Customer442.java
index bf40f9e0d..c84fb7646 100644
--- a/jpa/deferred/src/main/java/example/model/Customer442.java
+++ b/jpa/deferred/src/main/java/example/model/Customer442.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer442 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer443.java b/jpa/deferred/src/main/java/example/model/Customer443.java
index 7f133b202..db1a552df 100644
--- a/jpa/deferred/src/main/java/example/model/Customer443.java
+++ b/jpa/deferred/src/main/java/example/model/Customer443.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer443 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer444.java b/jpa/deferred/src/main/java/example/model/Customer444.java
index 51c037899..4e19f9223 100644
--- a/jpa/deferred/src/main/java/example/model/Customer444.java
+++ b/jpa/deferred/src/main/java/example/model/Customer444.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer444 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer445.java b/jpa/deferred/src/main/java/example/model/Customer445.java
index 5dd5cd67c..3ef9e964a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer445.java
+++ b/jpa/deferred/src/main/java/example/model/Customer445.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer445 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer446.java b/jpa/deferred/src/main/java/example/model/Customer446.java
index c714445a2..9a9780ca0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer446.java
+++ b/jpa/deferred/src/main/java/example/model/Customer446.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer446 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer447.java b/jpa/deferred/src/main/java/example/model/Customer447.java
index dd62d6a5c..6bab6f21d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer447.java
+++ b/jpa/deferred/src/main/java/example/model/Customer447.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer447 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer448.java b/jpa/deferred/src/main/java/example/model/Customer448.java
index 9f7df5b3c..e269ce865 100644
--- a/jpa/deferred/src/main/java/example/model/Customer448.java
+++ b/jpa/deferred/src/main/java/example/model/Customer448.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer448 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer449.java b/jpa/deferred/src/main/java/example/model/Customer449.java
index fe1159b03..60790cf51 100644
--- a/jpa/deferred/src/main/java/example/model/Customer449.java
+++ b/jpa/deferred/src/main/java/example/model/Customer449.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer449 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer45.java b/jpa/deferred/src/main/java/example/model/Customer45.java
index e322d5049..8745b5ca4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer45.java
+++ b/jpa/deferred/src/main/java/example/model/Customer45.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer45 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer450.java b/jpa/deferred/src/main/java/example/model/Customer450.java
index c46772079..66001cb77 100644
--- a/jpa/deferred/src/main/java/example/model/Customer450.java
+++ b/jpa/deferred/src/main/java/example/model/Customer450.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer450 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer451.java b/jpa/deferred/src/main/java/example/model/Customer451.java
index b7edbe20d..991aa7e38 100644
--- a/jpa/deferred/src/main/java/example/model/Customer451.java
+++ b/jpa/deferred/src/main/java/example/model/Customer451.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer451 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer452.java b/jpa/deferred/src/main/java/example/model/Customer452.java
index 9d59bed56..a3d995ae8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer452.java
+++ b/jpa/deferred/src/main/java/example/model/Customer452.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer452 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer453.java b/jpa/deferred/src/main/java/example/model/Customer453.java
index 4497a768e..7094ab67d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer453.java
+++ b/jpa/deferred/src/main/java/example/model/Customer453.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer453 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer454.java b/jpa/deferred/src/main/java/example/model/Customer454.java
index a6322f303..7edc33c49 100644
--- a/jpa/deferred/src/main/java/example/model/Customer454.java
+++ b/jpa/deferred/src/main/java/example/model/Customer454.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer454 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer455.java b/jpa/deferred/src/main/java/example/model/Customer455.java
index 26ad087b0..c16c8bb4b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer455.java
+++ b/jpa/deferred/src/main/java/example/model/Customer455.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer455 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer456.java b/jpa/deferred/src/main/java/example/model/Customer456.java
index eeff1aeb0..28706863e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer456.java
+++ b/jpa/deferred/src/main/java/example/model/Customer456.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer456 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer457.java b/jpa/deferred/src/main/java/example/model/Customer457.java
index 3ca9094a9..e4acdfdf9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer457.java
+++ b/jpa/deferred/src/main/java/example/model/Customer457.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer457 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer458.java b/jpa/deferred/src/main/java/example/model/Customer458.java
index 2b37a6032..5465ba1c3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer458.java
+++ b/jpa/deferred/src/main/java/example/model/Customer458.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer458 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer459.java b/jpa/deferred/src/main/java/example/model/Customer459.java
index 01f0a02ba..6980673aa 100644
--- a/jpa/deferred/src/main/java/example/model/Customer459.java
+++ b/jpa/deferred/src/main/java/example/model/Customer459.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer459 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer46.java b/jpa/deferred/src/main/java/example/model/Customer46.java
index 0d7866fcd..3afc7fd8d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer46.java
+++ b/jpa/deferred/src/main/java/example/model/Customer46.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer46 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer460.java b/jpa/deferred/src/main/java/example/model/Customer460.java
index 14cef5e96..2e93b765b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer460.java
+++ b/jpa/deferred/src/main/java/example/model/Customer460.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer460 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer461.java b/jpa/deferred/src/main/java/example/model/Customer461.java
index 4f5e50730..eb388b6c8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer461.java
+++ b/jpa/deferred/src/main/java/example/model/Customer461.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer461 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer462.java b/jpa/deferred/src/main/java/example/model/Customer462.java
index 77e8ab610..b15bfbf74 100644
--- a/jpa/deferred/src/main/java/example/model/Customer462.java
+++ b/jpa/deferred/src/main/java/example/model/Customer462.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer462 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer463.java b/jpa/deferred/src/main/java/example/model/Customer463.java
index 833e6ae26..ad0891229 100644
--- a/jpa/deferred/src/main/java/example/model/Customer463.java
+++ b/jpa/deferred/src/main/java/example/model/Customer463.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer463 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer464.java b/jpa/deferred/src/main/java/example/model/Customer464.java
index f7bb27e29..7c6485b4e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer464.java
+++ b/jpa/deferred/src/main/java/example/model/Customer464.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer464 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer465.java b/jpa/deferred/src/main/java/example/model/Customer465.java
index 9992c5f99..93d00ebe4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer465.java
+++ b/jpa/deferred/src/main/java/example/model/Customer465.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer465 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer466.java b/jpa/deferred/src/main/java/example/model/Customer466.java
index b136d0e43..d2e4356b4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer466.java
+++ b/jpa/deferred/src/main/java/example/model/Customer466.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer466 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer467.java b/jpa/deferred/src/main/java/example/model/Customer467.java
index 83ad0e1d0..1a0b4662e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer467.java
+++ b/jpa/deferred/src/main/java/example/model/Customer467.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer467 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer468.java b/jpa/deferred/src/main/java/example/model/Customer468.java
index 7bd753d12..52fd17fb9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer468.java
+++ b/jpa/deferred/src/main/java/example/model/Customer468.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer468 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer469.java b/jpa/deferred/src/main/java/example/model/Customer469.java
index e75fd5db5..18eed71a5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer469.java
+++ b/jpa/deferred/src/main/java/example/model/Customer469.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer469 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer47.java b/jpa/deferred/src/main/java/example/model/Customer47.java
index 6186ea136..8491e9f62 100644
--- a/jpa/deferred/src/main/java/example/model/Customer47.java
+++ b/jpa/deferred/src/main/java/example/model/Customer47.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer47 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer470.java b/jpa/deferred/src/main/java/example/model/Customer470.java
index 045e56344..f58604185 100644
--- a/jpa/deferred/src/main/java/example/model/Customer470.java
+++ b/jpa/deferred/src/main/java/example/model/Customer470.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer470 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer471.java b/jpa/deferred/src/main/java/example/model/Customer471.java
index 663c536b4..0937b8209 100644
--- a/jpa/deferred/src/main/java/example/model/Customer471.java
+++ b/jpa/deferred/src/main/java/example/model/Customer471.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer471 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer472.java b/jpa/deferred/src/main/java/example/model/Customer472.java
index 1db6be69d..dfb7df918 100644
--- a/jpa/deferred/src/main/java/example/model/Customer472.java
+++ b/jpa/deferred/src/main/java/example/model/Customer472.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer472 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer473.java b/jpa/deferred/src/main/java/example/model/Customer473.java
index dedb76159..692d27f7d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer473.java
+++ b/jpa/deferred/src/main/java/example/model/Customer473.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer473 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer474.java b/jpa/deferred/src/main/java/example/model/Customer474.java
index 499e2c7b2..ea9ffab95 100644
--- a/jpa/deferred/src/main/java/example/model/Customer474.java
+++ b/jpa/deferred/src/main/java/example/model/Customer474.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer474 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer475.java b/jpa/deferred/src/main/java/example/model/Customer475.java
index 41cad7660..40f1ff163 100644
--- a/jpa/deferred/src/main/java/example/model/Customer475.java
+++ b/jpa/deferred/src/main/java/example/model/Customer475.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer475 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer476.java b/jpa/deferred/src/main/java/example/model/Customer476.java
index bd7420795..edf9ed377 100644
--- a/jpa/deferred/src/main/java/example/model/Customer476.java
+++ b/jpa/deferred/src/main/java/example/model/Customer476.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer476 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer477.java b/jpa/deferred/src/main/java/example/model/Customer477.java
index 4fd2f8495..f3a76f994 100644
--- a/jpa/deferred/src/main/java/example/model/Customer477.java
+++ b/jpa/deferred/src/main/java/example/model/Customer477.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer477 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer478.java b/jpa/deferred/src/main/java/example/model/Customer478.java
index 52d54162a..c7d643346 100644
--- a/jpa/deferred/src/main/java/example/model/Customer478.java
+++ b/jpa/deferred/src/main/java/example/model/Customer478.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer478 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer479.java b/jpa/deferred/src/main/java/example/model/Customer479.java
index 9ab2961b8..a104023a1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer479.java
+++ b/jpa/deferred/src/main/java/example/model/Customer479.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer479 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer48.java b/jpa/deferred/src/main/java/example/model/Customer48.java
index 5ca735796..0f71970d8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer48.java
+++ b/jpa/deferred/src/main/java/example/model/Customer48.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer48 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer480.java b/jpa/deferred/src/main/java/example/model/Customer480.java
index 4ebf1f475..668c55fbb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer480.java
+++ b/jpa/deferred/src/main/java/example/model/Customer480.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer480 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer481.java b/jpa/deferred/src/main/java/example/model/Customer481.java
index baf8d3ec6..d356a6c6c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer481.java
+++ b/jpa/deferred/src/main/java/example/model/Customer481.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer481 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer482.java b/jpa/deferred/src/main/java/example/model/Customer482.java
index 597146b79..6202246d0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer482.java
+++ b/jpa/deferred/src/main/java/example/model/Customer482.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer482 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer483.java b/jpa/deferred/src/main/java/example/model/Customer483.java
index d01c541e7..0b4948b29 100644
--- a/jpa/deferred/src/main/java/example/model/Customer483.java
+++ b/jpa/deferred/src/main/java/example/model/Customer483.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer483 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer484.java b/jpa/deferred/src/main/java/example/model/Customer484.java
index 638c691f5..67bc80121 100644
--- a/jpa/deferred/src/main/java/example/model/Customer484.java
+++ b/jpa/deferred/src/main/java/example/model/Customer484.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer484 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer485.java b/jpa/deferred/src/main/java/example/model/Customer485.java
index a6af98e37..6c0cc48b6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer485.java
+++ b/jpa/deferred/src/main/java/example/model/Customer485.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer485 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer486.java b/jpa/deferred/src/main/java/example/model/Customer486.java
index c4129fc9e..566e6b4da 100644
--- a/jpa/deferred/src/main/java/example/model/Customer486.java
+++ b/jpa/deferred/src/main/java/example/model/Customer486.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer486 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer487.java b/jpa/deferred/src/main/java/example/model/Customer487.java
index e8cdb1af6..d2a743107 100644
--- a/jpa/deferred/src/main/java/example/model/Customer487.java
+++ b/jpa/deferred/src/main/java/example/model/Customer487.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer487 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer488.java b/jpa/deferred/src/main/java/example/model/Customer488.java
index 96f759527..408e104b7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer488.java
+++ b/jpa/deferred/src/main/java/example/model/Customer488.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer488 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer489.java b/jpa/deferred/src/main/java/example/model/Customer489.java
index c918a70ff..c3747ff86 100644
--- a/jpa/deferred/src/main/java/example/model/Customer489.java
+++ b/jpa/deferred/src/main/java/example/model/Customer489.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer489 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer49.java b/jpa/deferred/src/main/java/example/model/Customer49.java
index 7537e70aa..bd8cb4820 100644
--- a/jpa/deferred/src/main/java/example/model/Customer49.java
+++ b/jpa/deferred/src/main/java/example/model/Customer49.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer49 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer490.java b/jpa/deferred/src/main/java/example/model/Customer490.java
index 091df4b1d..ae6e08dea 100644
--- a/jpa/deferred/src/main/java/example/model/Customer490.java
+++ b/jpa/deferred/src/main/java/example/model/Customer490.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer490 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer491.java b/jpa/deferred/src/main/java/example/model/Customer491.java
index 85c9f2470..4e3554705 100644
--- a/jpa/deferred/src/main/java/example/model/Customer491.java
+++ b/jpa/deferred/src/main/java/example/model/Customer491.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer491 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer492.java b/jpa/deferred/src/main/java/example/model/Customer492.java
index 0e047e673..708349eee 100644
--- a/jpa/deferred/src/main/java/example/model/Customer492.java
+++ b/jpa/deferred/src/main/java/example/model/Customer492.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer492 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer493.java b/jpa/deferred/src/main/java/example/model/Customer493.java
index 232c1e53e..8a385b434 100644
--- a/jpa/deferred/src/main/java/example/model/Customer493.java
+++ b/jpa/deferred/src/main/java/example/model/Customer493.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer493 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer494.java b/jpa/deferred/src/main/java/example/model/Customer494.java
index b9451b7d7..c3d47528a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer494.java
+++ b/jpa/deferred/src/main/java/example/model/Customer494.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer494 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer495.java b/jpa/deferred/src/main/java/example/model/Customer495.java
index aa90b04c9..3cf814688 100644
--- a/jpa/deferred/src/main/java/example/model/Customer495.java
+++ b/jpa/deferred/src/main/java/example/model/Customer495.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer495 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer496.java b/jpa/deferred/src/main/java/example/model/Customer496.java
index 6a4bb4ec3..9e73736e6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer496.java
+++ b/jpa/deferred/src/main/java/example/model/Customer496.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer496 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer497.java b/jpa/deferred/src/main/java/example/model/Customer497.java
index 7cbba47d2..5e7f97db0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer497.java
+++ b/jpa/deferred/src/main/java/example/model/Customer497.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer497 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer498.java b/jpa/deferred/src/main/java/example/model/Customer498.java
index 6c5e48aab..1632c3724 100644
--- a/jpa/deferred/src/main/java/example/model/Customer498.java
+++ b/jpa/deferred/src/main/java/example/model/Customer498.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer498 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer499.java b/jpa/deferred/src/main/java/example/model/Customer499.java
index b523b7db0..e8c1a2195 100644
--- a/jpa/deferred/src/main/java/example/model/Customer499.java
+++ b/jpa/deferred/src/main/java/example/model/Customer499.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer499 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer5.java b/jpa/deferred/src/main/java/example/model/Customer5.java
index ee3176de7..259a9fdd7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer5.java
+++ b/jpa/deferred/src/main/java/example/model/Customer5.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer5 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer50.java b/jpa/deferred/src/main/java/example/model/Customer50.java
index 5aeaf2dcf..c0d1e73f2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer50.java
+++ b/jpa/deferred/src/main/java/example/model/Customer50.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer50 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer500.java b/jpa/deferred/src/main/java/example/model/Customer500.java
index bbbfdd54f..d7c7b525f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer500.java
+++ b/jpa/deferred/src/main/java/example/model/Customer500.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer500 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer501.java b/jpa/deferred/src/main/java/example/model/Customer501.java
index 06eb89620..cb25fd8c6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer501.java
+++ b/jpa/deferred/src/main/java/example/model/Customer501.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer501 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer502.java b/jpa/deferred/src/main/java/example/model/Customer502.java
index 736cc68d2..36b9585cf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer502.java
+++ b/jpa/deferred/src/main/java/example/model/Customer502.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer502 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer503.java b/jpa/deferred/src/main/java/example/model/Customer503.java
index bba2df832..185c46750 100644
--- a/jpa/deferred/src/main/java/example/model/Customer503.java
+++ b/jpa/deferred/src/main/java/example/model/Customer503.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer503 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer504.java b/jpa/deferred/src/main/java/example/model/Customer504.java
index 4eb92a4c3..22bdab349 100644
--- a/jpa/deferred/src/main/java/example/model/Customer504.java
+++ b/jpa/deferred/src/main/java/example/model/Customer504.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer504 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer505.java b/jpa/deferred/src/main/java/example/model/Customer505.java
index eb86a21d8..142d434c3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer505.java
+++ b/jpa/deferred/src/main/java/example/model/Customer505.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer505 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer506.java b/jpa/deferred/src/main/java/example/model/Customer506.java
index 67df00ebf..bc4c06181 100644
--- a/jpa/deferred/src/main/java/example/model/Customer506.java
+++ b/jpa/deferred/src/main/java/example/model/Customer506.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer506 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer507.java b/jpa/deferred/src/main/java/example/model/Customer507.java
index d679fa750..c2249beed 100644
--- a/jpa/deferred/src/main/java/example/model/Customer507.java
+++ b/jpa/deferred/src/main/java/example/model/Customer507.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer507 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer508.java b/jpa/deferred/src/main/java/example/model/Customer508.java
index 1f4024ce7..a36e9cad9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer508.java
+++ b/jpa/deferred/src/main/java/example/model/Customer508.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer508 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer509.java b/jpa/deferred/src/main/java/example/model/Customer509.java
index 048938908..0545540be 100644
--- a/jpa/deferred/src/main/java/example/model/Customer509.java
+++ b/jpa/deferred/src/main/java/example/model/Customer509.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer509 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer51.java b/jpa/deferred/src/main/java/example/model/Customer51.java
index 10db5e2eb..07e32d0b4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer51.java
+++ b/jpa/deferred/src/main/java/example/model/Customer51.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer51 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer510.java b/jpa/deferred/src/main/java/example/model/Customer510.java
index 6e5c1cb99..50a9835ef 100644
--- a/jpa/deferred/src/main/java/example/model/Customer510.java
+++ b/jpa/deferred/src/main/java/example/model/Customer510.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer510 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer511.java b/jpa/deferred/src/main/java/example/model/Customer511.java
index 309430588..3a2c6c5e7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer511.java
+++ b/jpa/deferred/src/main/java/example/model/Customer511.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer511 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer512.java b/jpa/deferred/src/main/java/example/model/Customer512.java
index f92e6159e..77a21b4a7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer512.java
+++ b/jpa/deferred/src/main/java/example/model/Customer512.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer512 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer513.java b/jpa/deferred/src/main/java/example/model/Customer513.java
index cb400f04d..081a14cad 100644
--- a/jpa/deferred/src/main/java/example/model/Customer513.java
+++ b/jpa/deferred/src/main/java/example/model/Customer513.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer513 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer514.java b/jpa/deferred/src/main/java/example/model/Customer514.java
index 2cae10c70..1a4f942ac 100644
--- a/jpa/deferred/src/main/java/example/model/Customer514.java
+++ b/jpa/deferred/src/main/java/example/model/Customer514.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer514 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer515.java b/jpa/deferred/src/main/java/example/model/Customer515.java
index 431483a92..20473bf55 100644
--- a/jpa/deferred/src/main/java/example/model/Customer515.java
+++ b/jpa/deferred/src/main/java/example/model/Customer515.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer515 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer516.java b/jpa/deferred/src/main/java/example/model/Customer516.java
index 5fbc228bc..253dd3e6c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer516.java
+++ b/jpa/deferred/src/main/java/example/model/Customer516.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer516 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer517.java b/jpa/deferred/src/main/java/example/model/Customer517.java
index 57a0047a4..2788edea6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer517.java
+++ b/jpa/deferred/src/main/java/example/model/Customer517.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer517 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer518.java b/jpa/deferred/src/main/java/example/model/Customer518.java
index 91ca5115b..13ffaa07f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer518.java
+++ b/jpa/deferred/src/main/java/example/model/Customer518.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer518 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer519.java b/jpa/deferred/src/main/java/example/model/Customer519.java
index fa3380316..fa805cd19 100644
--- a/jpa/deferred/src/main/java/example/model/Customer519.java
+++ b/jpa/deferred/src/main/java/example/model/Customer519.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer519 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer52.java b/jpa/deferred/src/main/java/example/model/Customer52.java
index 369a217fe..cfeb81e79 100644
--- a/jpa/deferred/src/main/java/example/model/Customer52.java
+++ b/jpa/deferred/src/main/java/example/model/Customer52.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer52 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer520.java b/jpa/deferred/src/main/java/example/model/Customer520.java
index 6f7ec1757..1d73d189e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer520.java
+++ b/jpa/deferred/src/main/java/example/model/Customer520.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer520 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer521.java b/jpa/deferred/src/main/java/example/model/Customer521.java
index 196b3576e..9594b722a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer521.java
+++ b/jpa/deferred/src/main/java/example/model/Customer521.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer521 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer522.java b/jpa/deferred/src/main/java/example/model/Customer522.java
index 6fc49df44..2df9bd448 100644
--- a/jpa/deferred/src/main/java/example/model/Customer522.java
+++ b/jpa/deferred/src/main/java/example/model/Customer522.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer522 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer523.java b/jpa/deferred/src/main/java/example/model/Customer523.java
index f5e81b8b1..6196289ce 100644
--- a/jpa/deferred/src/main/java/example/model/Customer523.java
+++ b/jpa/deferred/src/main/java/example/model/Customer523.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer523 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer524.java b/jpa/deferred/src/main/java/example/model/Customer524.java
index d994d4a8b..554620d05 100644
--- a/jpa/deferred/src/main/java/example/model/Customer524.java
+++ b/jpa/deferred/src/main/java/example/model/Customer524.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer524 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer525.java b/jpa/deferred/src/main/java/example/model/Customer525.java
index 04cf65aac..9a013bee3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer525.java
+++ b/jpa/deferred/src/main/java/example/model/Customer525.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer525 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer526.java b/jpa/deferred/src/main/java/example/model/Customer526.java
index 486f7565b..0afe86729 100644
--- a/jpa/deferred/src/main/java/example/model/Customer526.java
+++ b/jpa/deferred/src/main/java/example/model/Customer526.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer526 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer527.java b/jpa/deferred/src/main/java/example/model/Customer527.java
index 9eb522b06..52526d749 100644
--- a/jpa/deferred/src/main/java/example/model/Customer527.java
+++ b/jpa/deferred/src/main/java/example/model/Customer527.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer527 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer528.java b/jpa/deferred/src/main/java/example/model/Customer528.java
index 62210b544..2c842f2d4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer528.java
+++ b/jpa/deferred/src/main/java/example/model/Customer528.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer528 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer529.java b/jpa/deferred/src/main/java/example/model/Customer529.java
index a3f317d16..177399f92 100644
--- a/jpa/deferred/src/main/java/example/model/Customer529.java
+++ b/jpa/deferred/src/main/java/example/model/Customer529.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer529 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer53.java b/jpa/deferred/src/main/java/example/model/Customer53.java
index d8c123015..092624b41 100644
--- a/jpa/deferred/src/main/java/example/model/Customer53.java
+++ b/jpa/deferred/src/main/java/example/model/Customer53.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer53 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer530.java b/jpa/deferred/src/main/java/example/model/Customer530.java
index 59fe2389b..4a8756abb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer530.java
+++ b/jpa/deferred/src/main/java/example/model/Customer530.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer530 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer531.java b/jpa/deferred/src/main/java/example/model/Customer531.java
index 7ae8d7581..890e23640 100644
--- a/jpa/deferred/src/main/java/example/model/Customer531.java
+++ b/jpa/deferred/src/main/java/example/model/Customer531.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer531 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer532.java b/jpa/deferred/src/main/java/example/model/Customer532.java
index be26ed83e..42f1cd052 100644
--- a/jpa/deferred/src/main/java/example/model/Customer532.java
+++ b/jpa/deferred/src/main/java/example/model/Customer532.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer532 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer533.java b/jpa/deferred/src/main/java/example/model/Customer533.java
index 0d5940b6b..f1254b458 100644
--- a/jpa/deferred/src/main/java/example/model/Customer533.java
+++ b/jpa/deferred/src/main/java/example/model/Customer533.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer533 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer534.java b/jpa/deferred/src/main/java/example/model/Customer534.java
index 3b6413a95..8f6bd138b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer534.java
+++ b/jpa/deferred/src/main/java/example/model/Customer534.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer534 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer535.java b/jpa/deferred/src/main/java/example/model/Customer535.java
index 13c844c15..df2f7f815 100644
--- a/jpa/deferred/src/main/java/example/model/Customer535.java
+++ b/jpa/deferred/src/main/java/example/model/Customer535.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer535 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer536.java b/jpa/deferred/src/main/java/example/model/Customer536.java
index 89620c8ca..cf971dd59 100644
--- a/jpa/deferred/src/main/java/example/model/Customer536.java
+++ b/jpa/deferred/src/main/java/example/model/Customer536.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer536 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer537.java b/jpa/deferred/src/main/java/example/model/Customer537.java
index 40ce2770e..f01019e7b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer537.java
+++ b/jpa/deferred/src/main/java/example/model/Customer537.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer537 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer538.java b/jpa/deferred/src/main/java/example/model/Customer538.java
index a3eff461d..35ebe83fe 100644
--- a/jpa/deferred/src/main/java/example/model/Customer538.java
+++ b/jpa/deferred/src/main/java/example/model/Customer538.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer538 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer539.java b/jpa/deferred/src/main/java/example/model/Customer539.java
index 76ac72889..f8d53804a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer539.java
+++ b/jpa/deferred/src/main/java/example/model/Customer539.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer539 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer54.java b/jpa/deferred/src/main/java/example/model/Customer54.java
index dfbbef3dd..16a020bf4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer54.java
+++ b/jpa/deferred/src/main/java/example/model/Customer54.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer54 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer540.java b/jpa/deferred/src/main/java/example/model/Customer540.java
index bc7de344e..061dc94ab 100644
--- a/jpa/deferred/src/main/java/example/model/Customer540.java
+++ b/jpa/deferred/src/main/java/example/model/Customer540.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer540 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer541.java b/jpa/deferred/src/main/java/example/model/Customer541.java
index cf6b11972..87b8721fd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer541.java
+++ b/jpa/deferred/src/main/java/example/model/Customer541.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer541 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer542.java b/jpa/deferred/src/main/java/example/model/Customer542.java
index a70a4d29d..0e85e8d64 100644
--- a/jpa/deferred/src/main/java/example/model/Customer542.java
+++ b/jpa/deferred/src/main/java/example/model/Customer542.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer542 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer543.java b/jpa/deferred/src/main/java/example/model/Customer543.java
index 3ea72872e..127f383ff 100644
--- a/jpa/deferred/src/main/java/example/model/Customer543.java
+++ b/jpa/deferred/src/main/java/example/model/Customer543.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer543 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer544.java b/jpa/deferred/src/main/java/example/model/Customer544.java
index 02a255a30..9a4dd9d90 100644
--- a/jpa/deferred/src/main/java/example/model/Customer544.java
+++ b/jpa/deferred/src/main/java/example/model/Customer544.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer544 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer545.java b/jpa/deferred/src/main/java/example/model/Customer545.java
index a7a1d1b2d..8a2b08e57 100644
--- a/jpa/deferred/src/main/java/example/model/Customer545.java
+++ b/jpa/deferred/src/main/java/example/model/Customer545.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer545 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer546.java b/jpa/deferred/src/main/java/example/model/Customer546.java
index 649f7653f..1d79139c0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer546.java
+++ b/jpa/deferred/src/main/java/example/model/Customer546.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer546 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer547.java b/jpa/deferred/src/main/java/example/model/Customer547.java
index c7983edfa..c2b59a1d0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer547.java
+++ b/jpa/deferred/src/main/java/example/model/Customer547.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer547 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer548.java b/jpa/deferred/src/main/java/example/model/Customer548.java
index a07e10591..e9ce00e94 100644
--- a/jpa/deferred/src/main/java/example/model/Customer548.java
+++ b/jpa/deferred/src/main/java/example/model/Customer548.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer548 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer549.java b/jpa/deferred/src/main/java/example/model/Customer549.java
index e8fe84a1d..1f04f4a8e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer549.java
+++ b/jpa/deferred/src/main/java/example/model/Customer549.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer549 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer55.java b/jpa/deferred/src/main/java/example/model/Customer55.java
index 3bb8c484c..e67147748 100644
--- a/jpa/deferred/src/main/java/example/model/Customer55.java
+++ b/jpa/deferred/src/main/java/example/model/Customer55.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer55 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer550.java b/jpa/deferred/src/main/java/example/model/Customer550.java
index 1bae68b81..ec2929058 100644
--- a/jpa/deferred/src/main/java/example/model/Customer550.java
+++ b/jpa/deferred/src/main/java/example/model/Customer550.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer550 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer551.java b/jpa/deferred/src/main/java/example/model/Customer551.java
index a5ef7c5d2..1d29d4a46 100644
--- a/jpa/deferred/src/main/java/example/model/Customer551.java
+++ b/jpa/deferred/src/main/java/example/model/Customer551.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer551 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer552.java b/jpa/deferred/src/main/java/example/model/Customer552.java
index cdaa47ce7..73f8367c5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer552.java
+++ b/jpa/deferred/src/main/java/example/model/Customer552.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer552 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer553.java b/jpa/deferred/src/main/java/example/model/Customer553.java
index 5e247e5b7..acfc36968 100644
--- a/jpa/deferred/src/main/java/example/model/Customer553.java
+++ b/jpa/deferred/src/main/java/example/model/Customer553.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer553 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer554.java b/jpa/deferred/src/main/java/example/model/Customer554.java
index 1e531bb82..76e90c1f0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer554.java
+++ b/jpa/deferred/src/main/java/example/model/Customer554.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer554 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer555.java b/jpa/deferred/src/main/java/example/model/Customer555.java
index accb3a8ea..125467271 100644
--- a/jpa/deferred/src/main/java/example/model/Customer555.java
+++ b/jpa/deferred/src/main/java/example/model/Customer555.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer555 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer556.java b/jpa/deferred/src/main/java/example/model/Customer556.java
index 822eadf64..a3a25e2ec 100644
--- a/jpa/deferred/src/main/java/example/model/Customer556.java
+++ b/jpa/deferred/src/main/java/example/model/Customer556.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer556 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer557.java b/jpa/deferred/src/main/java/example/model/Customer557.java
index 779eb0b13..1609c9a9d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer557.java
+++ b/jpa/deferred/src/main/java/example/model/Customer557.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer557 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer558.java b/jpa/deferred/src/main/java/example/model/Customer558.java
index 7805aa174..bbc6c8e14 100644
--- a/jpa/deferred/src/main/java/example/model/Customer558.java
+++ b/jpa/deferred/src/main/java/example/model/Customer558.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer558 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer559.java b/jpa/deferred/src/main/java/example/model/Customer559.java
index 81dd447e3..63a484a04 100644
--- a/jpa/deferred/src/main/java/example/model/Customer559.java
+++ b/jpa/deferred/src/main/java/example/model/Customer559.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer559 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer56.java b/jpa/deferred/src/main/java/example/model/Customer56.java
index f0e320fbb..0deaf62ae 100644
--- a/jpa/deferred/src/main/java/example/model/Customer56.java
+++ b/jpa/deferred/src/main/java/example/model/Customer56.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer56 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer560.java b/jpa/deferred/src/main/java/example/model/Customer560.java
index f7800ca16..c3e0b0741 100644
--- a/jpa/deferred/src/main/java/example/model/Customer560.java
+++ b/jpa/deferred/src/main/java/example/model/Customer560.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer560 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer561.java b/jpa/deferred/src/main/java/example/model/Customer561.java
index 3a67b34c6..301c34358 100644
--- a/jpa/deferred/src/main/java/example/model/Customer561.java
+++ b/jpa/deferred/src/main/java/example/model/Customer561.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer561 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer562.java b/jpa/deferred/src/main/java/example/model/Customer562.java
index da2554359..704d52eb0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer562.java
+++ b/jpa/deferred/src/main/java/example/model/Customer562.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer562 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer563.java b/jpa/deferred/src/main/java/example/model/Customer563.java
index d9ecb4362..7b6ce8e59 100644
--- a/jpa/deferred/src/main/java/example/model/Customer563.java
+++ b/jpa/deferred/src/main/java/example/model/Customer563.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer563 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer564.java b/jpa/deferred/src/main/java/example/model/Customer564.java
index 8d8580d0e..6e8ab416d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer564.java
+++ b/jpa/deferred/src/main/java/example/model/Customer564.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer564 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer565.java b/jpa/deferred/src/main/java/example/model/Customer565.java
index 0b1413fee..104c9091f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer565.java
+++ b/jpa/deferred/src/main/java/example/model/Customer565.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer565 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer566.java b/jpa/deferred/src/main/java/example/model/Customer566.java
index fb2c2fcc4..b3d0af226 100644
--- a/jpa/deferred/src/main/java/example/model/Customer566.java
+++ b/jpa/deferred/src/main/java/example/model/Customer566.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer566 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer567.java b/jpa/deferred/src/main/java/example/model/Customer567.java
index 2bf943800..39af4c360 100644
--- a/jpa/deferred/src/main/java/example/model/Customer567.java
+++ b/jpa/deferred/src/main/java/example/model/Customer567.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer567 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer568.java b/jpa/deferred/src/main/java/example/model/Customer568.java
index 0289ab44e..6643388c1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer568.java
+++ b/jpa/deferred/src/main/java/example/model/Customer568.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer568 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer569.java b/jpa/deferred/src/main/java/example/model/Customer569.java
index bcbd53dee..351892634 100644
--- a/jpa/deferred/src/main/java/example/model/Customer569.java
+++ b/jpa/deferred/src/main/java/example/model/Customer569.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer569 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer57.java b/jpa/deferred/src/main/java/example/model/Customer57.java
index a2ec63b30..ac4619883 100644
--- a/jpa/deferred/src/main/java/example/model/Customer57.java
+++ b/jpa/deferred/src/main/java/example/model/Customer57.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer57 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer570.java b/jpa/deferred/src/main/java/example/model/Customer570.java
index 26e6b68d9..e4640a049 100644
--- a/jpa/deferred/src/main/java/example/model/Customer570.java
+++ b/jpa/deferred/src/main/java/example/model/Customer570.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer570 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer571.java b/jpa/deferred/src/main/java/example/model/Customer571.java
index 5067a6038..b558681cc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer571.java
+++ b/jpa/deferred/src/main/java/example/model/Customer571.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer571 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer572.java b/jpa/deferred/src/main/java/example/model/Customer572.java
index aa53e3a15..68164f657 100644
--- a/jpa/deferred/src/main/java/example/model/Customer572.java
+++ b/jpa/deferred/src/main/java/example/model/Customer572.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer572 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer573.java b/jpa/deferred/src/main/java/example/model/Customer573.java
index 90e4a5a72..dd4c438d6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer573.java
+++ b/jpa/deferred/src/main/java/example/model/Customer573.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer573 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer574.java b/jpa/deferred/src/main/java/example/model/Customer574.java
index ce73b0d62..562af699e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer574.java
+++ b/jpa/deferred/src/main/java/example/model/Customer574.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer574 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer575.java b/jpa/deferred/src/main/java/example/model/Customer575.java
index 9d55f2fbb..93d8372d0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer575.java
+++ b/jpa/deferred/src/main/java/example/model/Customer575.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer575 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer576.java b/jpa/deferred/src/main/java/example/model/Customer576.java
index 93c16467d..934a09dc1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer576.java
+++ b/jpa/deferred/src/main/java/example/model/Customer576.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer576 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer577.java b/jpa/deferred/src/main/java/example/model/Customer577.java
index 4af92c012..966afc0c6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer577.java
+++ b/jpa/deferred/src/main/java/example/model/Customer577.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer577 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer578.java b/jpa/deferred/src/main/java/example/model/Customer578.java
index bb2521f08..d36995adb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer578.java
+++ b/jpa/deferred/src/main/java/example/model/Customer578.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer578 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer579.java b/jpa/deferred/src/main/java/example/model/Customer579.java
index 5d964cdde..d37641121 100644
--- a/jpa/deferred/src/main/java/example/model/Customer579.java
+++ b/jpa/deferred/src/main/java/example/model/Customer579.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer579 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer58.java b/jpa/deferred/src/main/java/example/model/Customer58.java
index 6101ec9f5..0ed8abcf1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer58.java
+++ b/jpa/deferred/src/main/java/example/model/Customer58.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer58 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer580.java b/jpa/deferred/src/main/java/example/model/Customer580.java
index bd83d3728..ed7a9be1e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer580.java
+++ b/jpa/deferred/src/main/java/example/model/Customer580.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer580 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer581.java b/jpa/deferred/src/main/java/example/model/Customer581.java
index 8edf961bc..75ed9476d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer581.java
+++ b/jpa/deferred/src/main/java/example/model/Customer581.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer581 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer582.java b/jpa/deferred/src/main/java/example/model/Customer582.java
index 40858b8ea..76678b65e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer582.java
+++ b/jpa/deferred/src/main/java/example/model/Customer582.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer582 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer583.java b/jpa/deferred/src/main/java/example/model/Customer583.java
index b02928319..162f2e39b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer583.java
+++ b/jpa/deferred/src/main/java/example/model/Customer583.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer583 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer584.java b/jpa/deferred/src/main/java/example/model/Customer584.java
index 778c887c6..b17c9bece 100644
--- a/jpa/deferred/src/main/java/example/model/Customer584.java
+++ b/jpa/deferred/src/main/java/example/model/Customer584.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer584 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer585.java b/jpa/deferred/src/main/java/example/model/Customer585.java
index 816ad7bae..d75ce9ff3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer585.java
+++ b/jpa/deferred/src/main/java/example/model/Customer585.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer585 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer586.java b/jpa/deferred/src/main/java/example/model/Customer586.java
index c72c4f9be..53d7e9bba 100644
--- a/jpa/deferred/src/main/java/example/model/Customer586.java
+++ b/jpa/deferred/src/main/java/example/model/Customer586.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer586 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer587.java b/jpa/deferred/src/main/java/example/model/Customer587.java
index 28830cbc6..8384dee69 100644
--- a/jpa/deferred/src/main/java/example/model/Customer587.java
+++ b/jpa/deferred/src/main/java/example/model/Customer587.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer587 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer588.java b/jpa/deferred/src/main/java/example/model/Customer588.java
index b914ac634..c86bcbd3f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer588.java
+++ b/jpa/deferred/src/main/java/example/model/Customer588.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer588 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer589.java b/jpa/deferred/src/main/java/example/model/Customer589.java
index 8a2f65723..53e47f634 100644
--- a/jpa/deferred/src/main/java/example/model/Customer589.java
+++ b/jpa/deferred/src/main/java/example/model/Customer589.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer589 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer59.java b/jpa/deferred/src/main/java/example/model/Customer59.java
index d1c40fbfc..f0a51a618 100644
--- a/jpa/deferred/src/main/java/example/model/Customer59.java
+++ b/jpa/deferred/src/main/java/example/model/Customer59.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer59 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer590.java b/jpa/deferred/src/main/java/example/model/Customer590.java
index b19400c33..40b0670b2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer590.java
+++ b/jpa/deferred/src/main/java/example/model/Customer590.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer590 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer591.java b/jpa/deferred/src/main/java/example/model/Customer591.java
index 0a3fb0512..e13f2e813 100644
--- a/jpa/deferred/src/main/java/example/model/Customer591.java
+++ b/jpa/deferred/src/main/java/example/model/Customer591.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer591 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer592.java b/jpa/deferred/src/main/java/example/model/Customer592.java
index a48f66d56..5c7dbec9d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer592.java
+++ b/jpa/deferred/src/main/java/example/model/Customer592.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer592 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer593.java b/jpa/deferred/src/main/java/example/model/Customer593.java
index 8a0659fc6..fd60671d5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer593.java
+++ b/jpa/deferred/src/main/java/example/model/Customer593.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer593 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer594.java b/jpa/deferred/src/main/java/example/model/Customer594.java
index 7b497c87a..40cccd91a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer594.java
+++ b/jpa/deferred/src/main/java/example/model/Customer594.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer594 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer595.java b/jpa/deferred/src/main/java/example/model/Customer595.java
index f1ee6c302..63b07ca8d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer595.java
+++ b/jpa/deferred/src/main/java/example/model/Customer595.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer595 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer596.java b/jpa/deferred/src/main/java/example/model/Customer596.java
index dd9e3a2d9..84724c032 100644
--- a/jpa/deferred/src/main/java/example/model/Customer596.java
+++ b/jpa/deferred/src/main/java/example/model/Customer596.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer596 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer597.java b/jpa/deferred/src/main/java/example/model/Customer597.java
index 63c3a6d07..ce480bf2a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer597.java
+++ b/jpa/deferred/src/main/java/example/model/Customer597.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer597 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer598.java b/jpa/deferred/src/main/java/example/model/Customer598.java
index 5f4ada83c..ba4c50b5f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer598.java
+++ b/jpa/deferred/src/main/java/example/model/Customer598.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer598 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer599.java b/jpa/deferred/src/main/java/example/model/Customer599.java
index 91777a508..a01efa0ff 100644
--- a/jpa/deferred/src/main/java/example/model/Customer599.java
+++ b/jpa/deferred/src/main/java/example/model/Customer599.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer599 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer6.java b/jpa/deferred/src/main/java/example/model/Customer6.java
index ee87962d9..37aa9bc32 100644
--- a/jpa/deferred/src/main/java/example/model/Customer6.java
+++ b/jpa/deferred/src/main/java/example/model/Customer6.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer6 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer60.java b/jpa/deferred/src/main/java/example/model/Customer60.java
index 220bbd10e..2412e81ca 100644
--- a/jpa/deferred/src/main/java/example/model/Customer60.java
+++ b/jpa/deferred/src/main/java/example/model/Customer60.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer60 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer600.java b/jpa/deferred/src/main/java/example/model/Customer600.java
index 39f8b91ab..30453d3f9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer600.java
+++ b/jpa/deferred/src/main/java/example/model/Customer600.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer600 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer601.java b/jpa/deferred/src/main/java/example/model/Customer601.java
index e5996e091..d6f7276e5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer601.java
+++ b/jpa/deferred/src/main/java/example/model/Customer601.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer601 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer602.java b/jpa/deferred/src/main/java/example/model/Customer602.java
index 0aa9c0a9a..be34ad104 100644
--- a/jpa/deferred/src/main/java/example/model/Customer602.java
+++ b/jpa/deferred/src/main/java/example/model/Customer602.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer602 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer603.java b/jpa/deferred/src/main/java/example/model/Customer603.java
index 13f3f7fe1..f375cd2b8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer603.java
+++ b/jpa/deferred/src/main/java/example/model/Customer603.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer603 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer604.java b/jpa/deferred/src/main/java/example/model/Customer604.java
index 22e578537..4a0b07c75 100644
--- a/jpa/deferred/src/main/java/example/model/Customer604.java
+++ b/jpa/deferred/src/main/java/example/model/Customer604.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer604 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer605.java b/jpa/deferred/src/main/java/example/model/Customer605.java
index dd4ea25f8..3c4527e87 100644
--- a/jpa/deferred/src/main/java/example/model/Customer605.java
+++ b/jpa/deferred/src/main/java/example/model/Customer605.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer605 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer606.java b/jpa/deferred/src/main/java/example/model/Customer606.java
index ba2f1bba1..7f54f1c0e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer606.java
+++ b/jpa/deferred/src/main/java/example/model/Customer606.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer606 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer607.java b/jpa/deferred/src/main/java/example/model/Customer607.java
index 82f31a472..0566bb70a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer607.java
+++ b/jpa/deferred/src/main/java/example/model/Customer607.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer607 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer608.java b/jpa/deferred/src/main/java/example/model/Customer608.java
index d176c8f0b..2f236eecf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer608.java
+++ b/jpa/deferred/src/main/java/example/model/Customer608.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer608 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer609.java b/jpa/deferred/src/main/java/example/model/Customer609.java
index d599f4501..e97f806b7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer609.java
+++ b/jpa/deferred/src/main/java/example/model/Customer609.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer609 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer61.java b/jpa/deferred/src/main/java/example/model/Customer61.java
index 5cfe50160..6c56b7a05 100644
--- a/jpa/deferred/src/main/java/example/model/Customer61.java
+++ b/jpa/deferred/src/main/java/example/model/Customer61.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer61 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer610.java b/jpa/deferred/src/main/java/example/model/Customer610.java
index 67efc282c..a0c12b3f4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer610.java
+++ b/jpa/deferred/src/main/java/example/model/Customer610.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer610 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer611.java b/jpa/deferred/src/main/java/example/model/Customer611.java
index 4b845f27e..a983a841e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer611.java
+++ b/jpa/deferred/src/main/java/example/model/Customer611.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer611 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer612.java b/jpa/deferred/src/main/java/example/model/Customer612.java
index e636d35e1..275ad3fab 100644
--- a/jpa/deferred/src/main/java/example/model/Customer612.java
+++ b/jpa/deferred/src/main/java/example/model/Customer612.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer612 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer613.java b/jpa/deferred/src/main/java/example/model/Customer613.java
index 5168b3595..d32bd836b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer613.java
+++ b/jpa/deferred/src/main/java/example/model/Customer613.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer613 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer614.java b/jpa/deferred/src/main/java/example/model/Customer614.java
index 15467fed6..01a5402cb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer614.java
+++ b/jpa/deferred/src/main/java/example/model/Customer614.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer614 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer615.java b/jpa/deferred/src/main/java/example/model/Customer615.java
index 39583c908..b1b5d9c73 100644
--- a/jpa/deferred/src/main/java/example/model/Customer615.java
+++ b/jpa/deferred/src/main/java/example/model/Customer615.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer615 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer616.java b/jpa/deferred/src/main/java/example/model/Customer616.java
index dae3e6ff1..09b4d4162 100644
--- a/jpa/deferred/src/main/java/example/model/Customer616.java
+++ b/jpa/deferred/src/main/java/example/model/Customer616.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer616 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer617.java b/jpa/deferred/src/main/java/example/model/Customer617.java
index 3b5f53fbb..874400b8b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer617.java
+++ b/jpa/deferred/src/main/java/example/model/Customer617.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer617 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer618.java b/jpa/deferred/src/main/java/example/model/Customer618.java
index 190275dc3..ec6ef7e37 100644
--- a/jpa/deferred/src/main/java/example/model/Customer618.java
+++ b/jpa/deferred/src/main/java/example/model/Customer618.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer618 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer619.java b/jpa/deferred/src/main/java/example/model/Customer619.java
index 325640e5a..f6233fefb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer619.java
+++ b/jpa/deferred/src/main/java/example/model/Customer619.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer619 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer62.java b/jpa/deferred/src/main/java/example/model/Customer62.java
index 6d67196cc..952209fc3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer62.java
+++ b/jpa/deferred/src/main/java/example/model/Customer62.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer62 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer620.java b/jpa/deferred/src/main/java/example/model/Customer620.java
index d99cc466e..9502a099c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer620.java
+++ b/jpa/deferred/src/main/java/example/model/Customer620.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer620 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer621.java b/jpa/deferred/src/main/java/example/model/Customer621.java
index 11b4b6b1b..bd34af1b7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer621.java
+++ b/jpa/deferred/src/main/java/example/model/Customer621.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer621 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer622.java b/jpa/deferred/src/main/java/example/model/Customer622.java
index 2f77781ab..e119e1610 100644
--- a/jpa/deferred/src/main/java/example/model/Customer622.java
+++ b/jpa/deferred/src/main/java/example/model/Customer622.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer622 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer623.java b/jpa/deferred/src/main/java/example/model/Customer623.java
index 58b7a8f62..c9490816a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer623.java
+++ b/jpa/deferred/src/main/java/example/model/Customer623.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer623 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer624.java b/jpa/deferred/src/main/java/example/model/Customer624.java
index 2e9ed3d24..349501c50 100644
--- a/jpa/deferred/src/main/java/example/model/Customer624.java
+++ b/jpa/deferred/src/main/java/example/model/Customer624.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer624 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer625.java b/jpa/deferred/src/main/java/example/model/Customer625.java
index 6a5f253a6..9a985d05e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer625.java
+++ b/jpa/deferred/src/main/java/example/model/Customer625.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer625 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer626.java b/jpa/deferred/src/main/java/example/model/Customer626.java
index ed8fc1656..a56f97af4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer626.java
+++ b/jpa/deferred/src/main/java/example/model/Customer626.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer626 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer627.java b/jpa/deferred/src/main/java/example/model/Customer627.java
index ea5004cc3..4353a495a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer627.java
+++ b/jpa/deferred/src/main/java/example/model/Customer627.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer627 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer628.java b/jpa/deferred/src/main/java/example/model/Customer628.java
index 1ad481337..715099812 100644
--- a/jpa/deferred/src/main/java/example/model/Customer628.java
+++ b/jpa/deferred/src/main/java/example/model/Customer628.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer628 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer629.java b/jpa/deferred/src/main/java/example/model/Customer629.java
index 351d5624d..fc2943f3f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer629.java
+++ b/jpa/deferred/src/main/java/example/model/Customer629.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer629 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer63.java b/jpa/deferred/src/main/java/example/model/Customer63.java
index 3a590c767..db1795a74 100644
--- a/jpa/deferred/src/main/java/example/model/Customer63.java
+++ b/jpa/deferred/src/main/java/example/model/Customer63.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer63 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer630.java b/jpa/deferred/src/main/java/example/model/Customer630.java
index b66f51911..a2713bdec 100644
--- a/jpa/deferred/src/main/java/example/model/Customer630.java
+++ b/jpa/deferred/src/main/java/example/model/Customer630.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer630 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer631.java b/jpa/deferred/src/main/java/example/model/Customer631.java
index 5fdacf8a9..d4c136d17 100644
--- a/jpa/deferred/src/main/java/example/model/Customer631.java
+++ b/jpa/deferred/src/main/java/example/model/Customer631.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer631 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer632.java b/jpa/deferred/src/main/java/example/model/Customer632.java
index fed1814b8..223786c5c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer632.java
+++ b/jpa/deferred/src/main/java/example/model/Customer632.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer632 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer633.java b/jpa/deferred/src/main/java/example/model/Customer633.java
index e8242020f..3e70d360f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer633.java
+++ b/jpa/deferred/src/main/java/example/model/Customer633.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer633 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer634.java b/jpa/deferred/src/main/java/example/model/Customer634.java
index d12794cfc..d62769b1e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer634.java
+++ b/jpa/deferred/src/main/java/example/model/Customer634.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer634 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer635.java b/jpa/deferred/src/main/java/example/model/Customer635.java
index 8bfac3b57..452ca21aa 100644
--- a/jpa/deferred/src/main/java/example/model/Customer635.java
+++ b/jpa/deferred/src/main/java/example/model/Customer635.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer635 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer636.java b/jpa/deferred/src/main/java/example/model/Customer636.java
index 6530568c2..82458b7b8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer636.java
+++ b/jpa/deferred/src/main/java/example/model/Customer636.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer636 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer637.java b/jpa/deferred/src/main/java/example/model/Customer637.java
index 8c9b8323c..20fb24c77 100644
--- a/jpa/deferred/src/main/java/example/model/Customer637.java
+++ b/jpa/deferred/src/main/java/example/model/Customer637.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer637 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer638.java b/jpa/deferred/src/main/java/example/model/Customer638.java
index 2cf7d2567..e112aeddd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer638.java
+++ b/jpa/deferred/src/main/java/example/model/Customer638.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer638 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer639.java b/jpa/deferred/src/main/java/example/model/Customer639.java
index b13071060..a5a7217a5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer639.java
+++ b/jpa/deferred/src/main/java/example/model/Customer639.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer639 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer64.java b/jpa/deferred/src/main/java/example/model/Customer64.java
index c314de3a1..fc749f918 100644
--- a/jpa/deferred/src/main/java/example/model/Customer64.java
+++ b/jpa/deferred/src/main/java/example/model/Customer64.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer64 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer640.java b/jpa/deferred/src/main/java/example/model/Customer640.java
index d0d9d6634..1ea4d9faa 100644
--- a/jpa/deferred/src/main/java/example/model/Customer640.java
+++ b/jpa/deferred/src/main/java/example/model/Customer640.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer640 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer641.java b/jpa/deferred/src/main/java/example/model/Customer641.java
index 2e32b2f46..1698ef793 100644
--- a/jpa/deferred/src/main/java/example/model/Customer641.java
+++ b/jpa/deferred/src/main/java/example/model/Customer641.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer641 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer642.java b/jpa/deferred/src/main/java/example/model/Customer642.java
index 32d52956b..b12a4b696 100644
--- a/jpa/deferred/src/main/java/example/model/Customer642.java
+++ b/jpa/deferred/src/main/java/example/model/Customer642.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer642 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer643.java b/jpa/deferred/src/main/java/example/model/Customer643.java
index 3f71e80b2..277ca1779 100644
--- a/jpa/deferred/src/main/java/example/model/Customer643.java
+++ b/jpa/deferred/src/main/java/example/model/Customer643.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer643 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer644.java b/jpa/deferred/src/main/java/example/model/Customer644.java
index ad986dfb0..c3d606cf2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer644.java
+++ b/jpa/deferred/src/main/java/example/model/Customer644.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer644 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer645.java b/jpa/deferred/src/main/java/example/model/Customer645.java
index 3ce17a5dc..d8d506fff 100644
--- a/jpa/deferred/src/main/java/example/model/Customer645.java
+++ b/jpa/deferred/src/main/java/example/model/Customer645.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer645 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer646.java b/jpa/deferred/src/main/java/example/model/Customer646.java
index e5c7fe480..996d06985 100644
--- a/jpa/deferred/src/main/java/example/model/Customer646.java
+++ b/jpa/deferred/src/main/java/example/model/Customer646.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer646 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer647.java b/jpa/deferred/src/main/java/example/model/Customer647.java
index 6630c39cb..6c60456cc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer647.java
+++ b/jpa/deferred/src/main/java/example/model/Customer647.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer647 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer648.java b/jpa/deferred/src/main/java/example/model/Customer648.java
index 501c6fa88..0b2d2dd44 100644
--- a/jpa/deferred/src/main/java/example/model/Customer648.java
+++ b/jpa/deferred/src/main/java/example/model/Customer648.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer648 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer649.java b/jpa/deferred/src/main/java/example/model/Customer649.java
index 8644ffd1a..c475d6b88 100644
--- a/jpa/deferred/src/main/java/example/model/Customer649.java
+++ b/jpa/deferred/src/main/java/example/model/Customer649.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer649 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer65.java b/jpa/deferred/src/main/java/example/model/Customer65.java
index 177594881..885d6f688 100644
--- a/jpa/deferred/src/main/java/example/model/Customer65.java
+++ b/jpa/deferred/src/main/java/example/model/Customer65.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer65 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer650.java b/jpa/deferred/src/main/java/example/model/Customer650.java
index b3243cc63..d0d0f4823 100644
--- a/jpa/deferred/src/main/java/example/model/Customer650.java
+++ b/jpa/deferred/src/main/java/example/model/Customer650.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer650 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer651.java b/jpa/deferred/src/main/java/example/model/Customer651.java
index 9018ced90..e95e173e7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer651.java
+++ b/jpa/deferred/src/main/java/example/model/Customer651.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer651 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer652.java b/jpa/deferred/src/main/java/example/model/Customer652.java
index 09901b135..b9a9bab2b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer652.java
+++ b/jpa/deferred/src/main/java/example/model/Customer652.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer652 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer653.java b/jpa/deferred/src/main/java/example/model/Customer653.java
index b8f4f375c..04157c672 100644
--- a/jpa/deferred/src/main/java/example/model/Customer653.java
+++ b/jpa/deferred/src/main/java/example/model/Customer653.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer653 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer654.java b/jpa/deferred/src/main/java/example/model/Customer654.java
index 887f9354c..782256807 100644
--- a/jpa/deferred/src/main/java/example/model/Customer654.java
+++ b/jpa/deferred/src/main/java/example/model/Customer654.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer654 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer655.java b/jpa/deferred/src/main/java/example/model/Customer655.java
index ec9c9aa9c..6a2a2e1a9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer655.java
+++ b/jpa/deferred/src/main/java/example/model/Customer655.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer655 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer656.java b/jpa/deferred/src/main/java/example/model/Customer656.java
index 30b3065c7..a2f24a472 100644
--- a/jpa/deferred/src/main/java/example/model/Customer656.java
+++ b/jpa/deferred/src/main/java/example/model/Customer656.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer656 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer657.java b/jpa/deferred/src/main/java/example/model/Customer657.java
index 71bf0673a..f35027fca 100644
--- a/jpa/deferred/src/main/java/example/model/Customer657.java
+++ b/jpa/deferred/src/main/java/example/model/Customer657.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer657 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer658.java b/jpa/deferred/src/main/java/example/model/Customer658.java
index c80e77508..812f6eb05 100644
--- a/jpa/deferred/src/main/java/example/model/Customer658.java
+++ b/jpa/deferred/src/main/java/example/model/Customer658.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer658 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer659.java b/jpa/deferred/src/main/java/example/model/Customer659.java
index c09fc0e93..427f827d8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer659.java
+++ b/jpa/deferred/src/main/java/example/model/Customer659.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer659 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer66.java b/jpa/deferred/src/main/java/example/model/Customer66.java
index e66e4ef9b..8792ca850 100644
--- a/jpa/deferred/src/main/java/example/model/Customer66.java
+++ b/jpa/deferred/src/main/java/example/model/Customer66.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer66 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer660.java b/jpa/deferred/src/main/java/example/model/Customer660.java
index ddae1c016..aec03d07c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer660.java
+++ b/jpa/deferred/src/main/java/example/model/Customer660.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer660 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer661.java b/jpa/deferred/src/main/java/example/model/Customer661.java
index 4d0396305..119439b03 100644
--- a/jpa/deferred/src/main/java/example/model/Customer661.java
+++ b/jpa/deferred/src/main/java/example/model/Customer661.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer661 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer662.java b/jpa/deferred/src/main/java/example/model/Customer662.java
index af9b62e92..cca5a2506 100644
--- a/jpa/deferred/src/main/java/example/model/Customer662.java
+++ b/jpa/deferred/src/main/java/example/model/Customer662.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer662 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer663.java b/jpa/deferred/src/main/java/example/model/Customer663.java
index 58597bbcc..b1bff871a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer663.java
+++ b/jpa/deferred/src/main/java/example/model/Customer663.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer663 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer664.java b/jpa/deferred/src/main/java/example/model/Customer664.java
index 56e3e406c..b6e995e55 100644
--- a/jpa/deferred/src/main/java/example/model/Customer664.java
+++ b/jpa/deferred/src/main/java/example/model/Customer664.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer664 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer665.java b/jpa/deferred/src/main/java/example/model/Customer665.java
index e7ab6dee7..f7e10e8db 100644
--- a/jpa/deferred/src/main/java/example/model/Customer665.java
+++ b/jpa/deferred/src/main/java/example/model/Customer665.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer665 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer666.java b/jpa/deferred/src/main/java/example/model/Customer666.java
index c1b9d4edf..13d2e2d57 100644
--- a/jpa/deferred/src/main/java/example/model/Customer666.java
+++ b/jpa/deferred/src/main/java/example/model/Customer666.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer666 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer667.java b/jpa/deferred/src/main/java/example/model/Customer667.java
index d5f416d4d..7dad5ef06 100644
--- a/jpa/deferred/src/main/java/example/model/Customer667.java
+++ b/jpa/deferred/src/main/java/example/model/Customer667.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer667 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer668.java b/jpa/deferred/src/main/java/example/model/Customer668.java
index b1aa13dd8..7dbfff8fa 100644
--- a/jpa/deferred/src/main/java/example/model/Customer668.java
+++ b/jpa/deferred/src/main/java/example/model/Customer668.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer668 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer669.java b/jpa/deferred/src/main/java/example/model/Customer669.java
index a7947a4e6..cdfd28146 100644
--- a/jpa/deferred/src/main/java/example/model/Customer669.java
+++ b/jpa/deferred/src/main/java/example/model/Customer669.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer669 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer67.java b/jpa/deferred/src/main/java/example/model/Customer67.java
index 741ada238..1ff4b324b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer67.java
+++ b/jpa/deferred/src/main/java/example/model/Customer67.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer67 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer670.java b/jpa/deferred/src/main/java/example/model/Customer670.java
index 1c6652e8c..45b6cb6ff 100644
--- a/jpa/deferred/src/main/java/example/model/Customer670.java
+++ b/jpa/deferred/src/main/java/example/model/Customer670.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer670 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer671.java b/jpa/deferred/src/main/java/example/model/Customer671.java
index 03f3c44f6..d1bfec841 100644
--- a/jpa/deferred/src/main/java/example/model/Customer671.java
+++ b/jpa/deferred/src/main/java/example/model/Customer671.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer671 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer672.java b/jpa/deferred/src/main/java/example/model/Customer672.java
index 7cf9218f9..3f59cf99d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer672.java
+++ b/jpa/deferred/src/main/java/example/model/Customer672.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer672 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer673.java b/jpa/deferred/src/main/java/example/model/Customer673.java
index 441d72710..8bebbdd15 100644
--- a/jpa/deferred/src/main/java/example/model/Customer673.java
+++ b/jpa/deferred/src/main/java/example/model/Customer673.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer673 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer674.java b/jpa/deferred/src/main/java/example/model/Customer674.java
index 28db24f06..f594e77d7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer674.java
+++ b/jpa/deferred/src/main/java/example/model/Customer674.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer674 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer675.java b/jpa/deferred/src/main/java/example/model/Customer675.java
index b1979a383..563af3904 100644
--- a/jpa/deferred/src/main/java/example/model/Customer675.java
+++ b/jpa/deferred/src/main/java/example/model/Customer675.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer675 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer676.java b/jpa/deferred/src/main/java/example/model/Customer676.java
index 44c72a75d..57282d7e6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer676.java
+++ b/jpa/deferred/src/main/java/example/model/Customer676.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer676 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer677.java b/jpa/deferred/src/main/java/example/model/Customer677.java
index 7f60bd0a3..456215620 100644
--- a/jpa/deferred/src/main/java/example/model/Customer677.java
+++ b/jpa/deferred/src/main/java/example/model/Customer677.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer677 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer678.java b/jpa/deferred/src/main/java/example/model/Customer678.java
index 0a19c3e2e..caf8f0486 100644
--- a/jpa/deferred/src/main/java/example/model/Customer678.java
+++ b/jpa/deferred/src/main/java/example/model/Customer678.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer678 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer679.java b/jpa/deferred/src/main/java/example/model/Customer679.java
index d7842a2a6..bd23f6c86 100644
--- a/jpa/deferred/src/main/java/example/model/Customer679.java
+++ b/jpa/deferred/src/main/java/example/model/Customer679.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer679 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer68.java b/jpa/deferred/src/main/java/example/model/Customer68.java
index 0ee9f0a1c..962124484 100644
--- a/jpa/deferred/src/main/java/example/model/Customer68.java
+++ b/jpa/deferred/src/main/java/example/model/Customer68.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer68 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer680.java b/jpa/deferred/src/main/java/example/model/Customer680.java
index fa5f952be..ad325f288 100644
--- a/jpa/deferred/src/main/java/example/model/Customer680.java
+++ b/jpa/deferred/src/main/java/example/model/Customer680.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer680 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer681.java b/jpa/deferred/src/main/java/example/model/Customer681.java
index 8a7ed8acd..bbcceabe5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer681.java
+++ b/jpa/deferred/src/main/java/example/model/Customer681.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer681 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer682.java b/jpa/deferred/src/main/java/example/model/Customer682.java
index f989201e5..1e7bcfd83 100644
--- a/jpa/deferred/src/main/java/example/model/Customer682.java
+++ b/jpa/deferred/src/main/java/example/model/Customer682.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer682 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer683.java b/jpa/deferred/src/main/java/example/model/Customer683.java
index 2e8ba1b4f..00edfbc03 100644
--- a/jpa/deferred/src/main/java/example/model/Customer683.java
+++ b/jpa/deferred/src/main/java/example/model/Customer683.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer683 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer684.java b/jpa/deferred/src/main/java/example/model/Customer684.java
index 0d4966815..113cbd4d1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer684.java
+++ b/jpa/deferred/src/main/java/example/model/Customer684.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer684 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer685.java b/jpa/deferred/src/main/java/example/model/Customer685.java
index 95b33c974..33a29f4ee 100644
--- a/jpa/deferred/src/main/java/example/model/Customer685.java
+++ b/jpa/deferred/src/main/java/example/model/Customer685.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer685 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer686.java b/jpa/deferred/src/main/java/example/model/Customer686.java
index ddf9f7de3..39e0d920b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer686.java
+++ b/jpa/deferred/src/main/java/example/model/Customer686.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer686 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer687.java b/jpa/deferred/src/main/java/example/model/Customer687.java
index 8edcbd1be..d3bc97d17 100644
--- a/jpa/deferred/src/main/java/example/model/Customer687.java
+++ b/jpa/deferred/src/main/java/example/model/Customer687.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer687 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer688.java b/jpa/deferred/src/main/java/example/model/Customer688.java
index 9ca4cc2ee..70318effe 100644
--- a/jpa/deferred/src/main/java/example/model/Customer688.java
+++ b/jpa/deferred/src/main/java/example/model/Customer688.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer688 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer689.java b/jpa/deferred/src/main/java/example/model/Customer689.java
index 632e1941a..11b9ecb35 100644
--- a/jpa/deferred/src/main/java/example/model/Customer689.java
+++ b/jpa/deferred/src/main/java/example/model/Customer689.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer689 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer69.java b/jpa/deferred/src/main/java/example/model/Customer69.java
index 1483c1d7d..3d911826a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer69.java
+++ b/jpa/deferred/src/main/java/example/model/Customer69.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer69 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer690.java b/jpa/deferred/src/main/java/example/model/Customer690.java
index edbdfd37d..df366bf7d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer690.java
+++ b/jpa/deferred/src/main/java/example/model/Customer690.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer690 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer691.java b/jpa/deferred/src/main/java/example/model/Customer691.java
index 66618b97a..4d4892f39 100644
--- a/jpa/deferred/src/main/java/example/model/Customer691.java
+++ b/jpa/deferred/src/main/java/example/model/Customer691.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer691 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer692.java b/jpa/deferred/src/main/java/example/model/Customer692.java
index cffb80c8c..81232383e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer692.java
+++ b/jpa/deferred/src/main/java/example/model/Customer692.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer692 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer693.java b/jpa/deferred/src/main/java/example/model/Customer693.java
index 5440dfed4..4ff8b5868 100644
--- a/jpa/deferred/src/main/java/example/model/Customer693.java
+++ b/jpa/deferred/src/main/java/example/model/Customer693.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer693 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer694.java b/jpa/deferred/src/main/java/example/model/Customer694.java
index e8d567187..bcebd6aaf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer694.java
+++ b/jpa/deferred/src/main/java/example/model/Customer694.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer694 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer695.java b/jpa/deferred/src/main/java/example/model/Customer695.java
index 3b14d3e5c..b8b31bfd4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer695.java
+++ b/jpa/deferred/src/main/java/example/model/Customer695.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer695 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer696.java b/jpa/deferred/src/main/java/example/model/Customer696.java
index ce0f427fc..23cc9417b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer696.java
+++ b/jpa/deferred/src/main/java/example/model/Customer696.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer696 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer697.java b/jpa/deferred/src/main/java/example/model/Customer697.java
index 6b1c7f149..d15af92ee 100644
--- a/jpa/deferred/src/main/java/example/model/Customer697.java
+++ b/jpa/deferred/src/main/java/example/model/Customer697.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer697 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer698.java b/jpa/deferred/src/main/java/example/model/Customer698.java
index 1fa33d10f..bddcb9fe7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer698.java
+++ b/jpa/deferred/src/main/java/example/model/Customer698.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer698 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer699.java b/jpa/deferred/src/main/java/example/model/Customer699.java
index e9837f507..70bb4899f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer699.java
+++ b/jpa/deferred/src/main/java/example/model/Customer699.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer699 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer7.java b/jpa/deferred/src/main/java/example/model/Customer7.java
index 389fd935d..7a86d9505 100644
--- a/jpa/deferred/src/main/java/example/model/Customer7.java
+++ b/jpa/deferred/src/main/java/example/model/Customer7.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer7 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer70.java b/jpa/deferred/src/main/java/example/model/Customer70.java
index 0039ad083..a2bb6e4df 100644
--- a/jpa/deferred/src/main/java/example/model/Customer70.java
+++ b/jpa/deferred/src/main/java/example/model/Customer70.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer70 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer700.java b/jpa/deferred/src/main/java/example/model/Customer700.java
index eea177cc6..09e335c4a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer700.java
+++ b/jpa/deferred/src/main/java/example/model/Customer700.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer700 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer701.java b/jpa/deferred/src/main/java/example/model/Customer701.java
index 657c202d8..792d280a3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer701.java
+++ b/jpa/deferred/src/main/java/example/model/Customer701.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer701 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer702.java b/jpa/deferred/src/main/java/example/model/Customer702.java
index 678044b54..5f38a8524 100644
--- a/jpa/deferred/src/main/java/example/model/Customer702.java
+++ b/jpa/deferred/src/main/java/example/model/Customer702.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer702 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer703.java b/jpa/deferred/src/main/java/example/model/Customer703.java
index 2197ee0ed..55dbfc7d7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer703.java
+++ b/jpa/deferred/src/main/java/example/model/Customer703.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer703 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer704.java b/jpa/deferred/src/main/java/example/model/Customer704.java
index dca99d042..bdbfae940 100644
--- a/jpa/deferred/src/main/java/example/model/Customer704.java
+++ b/jpa/deferred/src/main/java/example/model/Customer704.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer704 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer705.java b/jpa/deferred/src/main/java/example/model/Customer705.java
index fa5684c55..6d81f13a6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer705.java
+++ b/jpa/deferred/src/main/java/example/model/Customer705.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer705 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer706.java b/jpa/deferred/src/main/java/example/model/Customer706.java
index 05ffc2242..b51c3d3c6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer706.java
+++ b/jpa/deferred/src/main/java/example/model/Customer706.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer706 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer707.java b/jpa/deferred/src/main/java/example/model/Customer707.java
index 2caada305..7893fcd02 100644
--- a/jpa/deferred/src/main/java/example/model/Customer707.java
+++ b/jpa/deferred/src/main/java/example/model/Customer707.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer707 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer708.java b/jpa/deferred/src/main/java/example/model/Customer708.java
index d5c7e016e..611d8f5d2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer708.java
+++ b/jpa/deferred/src/main/java/example/model/Customer708.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer708 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer709.java b/jpa/deferred/src/main/java/example/model/Customer709.java
index dc01ece4a..2742a18c9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer709.java
+++ b/jpa/deferred/src/main/java/example/model/Customer709.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer709 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer71.java b/jpa/deferred/src/main/java/example/model/Customer71.java
index ab0d5893f..bc6ecff88 100644
--- a/jpa/deferred/src/main/java/example/model/Customer71.java
+++ b/jpa/deferred/src/main/java/example/model/Customer71.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer71 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer710.java b/jpa/deferred/src/main/java/example/model/Customer710.java
index 72a205825..860a52fcd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer710.java
+++ b/jpa/deferred/src/main/java/example/model/Customer710.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer710 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer711.java b/jpa/deferred/src/main/java/example/model/Customer711.java
index cc972b12e..5dd6358a5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer711.java
+++ b/jpa/deferred/src/main/java/example/model/Customer711.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer711 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer712.java b/jpa/deferred/src/main/java/example/model/Customer712.java
index a91f8fe6e..743752eea 100644
--- a/jpa/deferred/src/main/java/example/model/Customer712.java
+++ b/jpa/deferred/src/main/java/example/model/Customer712.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer712 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer713.java b/jpa/deferred/src/main/java/example/model/Customer713.java
index a551dbba4..8046c35d4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer713.java
+++ b/jpa/deferred/src/main/java/example/model/Customer713.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer713 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer714.java b/jpa/deferred/src/main/java/example/model/Customer714.java
index f978093fb..9488b46c5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer714.java
+++ b/jpa/deferred/src/main/java/example/model/Customer714.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer714 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer715.java b/jpa/deferred/src/main/java/example/model/Customer715.java
index c6fb6c146..a59cb5248 100644
--- a/jpa/deferred/src/main/java/example/model/Customer715.java
+++ b/jpa/deferred/src/main/java/example/model/Customer715.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer715 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer716.java b/jpa/deferred/src/main/java/example/model/Customer716.java
index c1ae14fa6..a3627f3e5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer716.java
+++ b/jpa/deferred/src/main/java/example/model/Customer716.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer716 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer717.java b/jpa/deferred/src/main/java/example/model/Customer717.java
index c825ce668..d6b583649 100644
--- a/jpa/deferred/src/main/java/example/model/Customer717.java
+++ b/jpa/deferred/src/main/java/example/model/Customer717.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer717 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer718.java b/jpa/deferred/src/main/java/example/model/Customer718.java
index 005600f8c..6624b8c38 100644
--- a/jpa/deferred/src/main/java/example/model/Customer718.java
+++ b/jpa/deferred/src/main/java/example/model/Customer718.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer718 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer719.java b/jpa/deferred/src/main/java/example/model/Customer719.java
index 18311dfde..ac2377fcf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer719.java
+++ b/jpa/deferred/src/main/java/example/model/Customer719.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer719 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer72.java b/jpa/deferred/src/main/java/example/model/Customer72.java
index bad537cf0..d3be12d51 100644
--- a/jpa/deferred/src/main/java/example/model/Customer72.java
+++ b/jpa/deferred/src/main/java/example/model/Customer72.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer72 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer720.java b/jpa/deferred/src/main/java/example/model/Customer720.java
index d15f18cf7..0eeaae971 100644
--- a/jpa/deferred/src/main/java/example/model/Customer720.java
+++ b/jpa/deferred/src/main/java/example/model/Customer720.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer720 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer721.java b/jpa/deferred/src/main/java/example/model/Customer721.java
index 48f290e31..392ae20a9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer721.java
+++ b/jpa/deferred/src/main/java/example/model/Customer721.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer721 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer722.java b/jpa/deferred/src/main/java/example/model/Customer722.java
index 4447f95f5..a9d23fe3d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer722.java
+++ b/jpa/deferred/src/main/java/example/model/Customer722.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer722 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer723.java b/jpa/deferred/src/main/java/example/model/Customer723.java
index 56cbeff37..e4f0b148d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer723.java
+++ b/jpa/deferred/src/main/java/example/model/Customer723.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer723 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer724.java b/jpa/deferred/src/main/java/example/model/Customer724.java
index 33761d84c..544af2b06 100644
--- a/jpa/deferred/src/main/java/example/model/Customer724.java
+++ b/jpa/deferred/src/main/java/example/model/Customer724.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer724 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer725.java b/jpa/deferred/src/main/java/example/model/Customer725.java
index 85c5a7cf1..e8facd413 100644
--- a/jpa/deferred/src/main/java/example/model/Customer725.java
+++ b/jpa/deferred/src/main/java/example/model/Customer725.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer725 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer726.java b/jpa/deferred/src/main/java/example/model/Customer726.java
index 78be91f1e..9f8a2d390 100644
--- a/jpa/deferred/src/main/java/example/model/Customer726.java
+++ b/jpa/deferred/src/main/java/example/model/Customer726.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer726 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer727.java b/jpa/deferred/src/main/java/example/model/Customer727.java
index c1f977c8b..624e450ed 100644
--- a/jpa/deferred/src/main/java/example/model/Customer727.java
+++ b/jpa/deferred/src/main/java/example/model/Customer727.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer727 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer728.java b/jpa/deferred/src/main/java/example/model/Customer728.java
index 6df4f53d3..e26562555 100644
--- a/jpa/deferred/src/main/java/example/model/Customer728.java
+++ b/jpa/deferred/src/main/java/example/model/Customer728.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer728 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer729.java b/jpa/deferred/src/main/java/example/model/Customer729.java
index 461daf09c..a4bb39362 100644
--- a/jpa/deferred/src/main/java/example/model/Customer729.java
+++ b/jpa/deferred/src/main/java/example/model/Customer729.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer729 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer73.java b/jpa/deferred/src/main/java/example/model/Customer73.java
index 773a47622..056af2452 100644
--- a/jpa/deferred/src/main/java/example/model/Customer73.java
+++ b/jpa/deferred/src/main/java/example/model/Customer73.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer73 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer730.java b/jpa/deferred/src/main/java/example/model/Customer730.java
index 9cabb930f..4e628d38e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer730.java
+++ b/jpa/deferred/src/main/java/example/model/Customer730.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer730 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer731.java b/jpa/deferred/src/main/java/example/model/Customer731.java
index 9779b01c0..f6e65afac 100644
--- a/jpa/deferred/src/main/java/example/model/Customer731.java
+++ b/jpa/deferred/src/main/java/example/model/Customer731.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer731 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer732.java b/jpa/deferred/src/main/java/example/model/Customer732.java
index e381266ef..5a30c4a4e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer732.java
+++ b/jpa/deferred/src/main/java/example/model/Customer732.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer732 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer733.java b/jpa/deferred/src/main/java/example/model/Customer733.java
index 1cd135e58..b717894ed 100644
--- a/jpa/deferred/src/main/java/example/model/Customer733.java
+++ b/jpa/deferred/src/main/java/example/model/Customer733.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer733 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer734.java b/jpa/deferred/src/main/java/example/model/Customer734.java
index 726aa7c72..22c880c77 100644
--- a/jpa/deferred/src/main/java/example/model/Customer734.java
+++ b/jpa/deferred/src/main/java/example/model/Customer734.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer734 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer735.java b/jpa/deferred/src/main/java/example/model/Customer735.java
index 070783208..523c5e808 100644
--- a/jpa/deferred/src/main/java/example/model/Customer735.java
+++ b/jpa/deferred/src/main/java/example/model/Customer735.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer735 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer736.java b/jpa/deferred/src/main/java/example/model/Customer736.java
index 1e230329d..61de50a92 100644
--- a/jpa/deferred/src/main/java/example/model/Customer736.java
+++ b/jpa/deferred/src/main/java/example/model/Customer736.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer736 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer737.java b/jpa/deferred/src/main/java/example/model/Customer737.java
index 0b553437a..3dab1f170 100644
--- a/jpa/deferred/src/main/java/example/model/Customer737.java
+++ b/jpa/deferred/src/main/java/example/model/Customer737.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer737 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer738.java b/jpa/deferred/src/main/java/example/model/Customer738.java
index cc5c0907e..5e635386e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer738.java
+++ b/jpa/deferred/src/main/java/example/model/Customer738.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer738 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer739.java b/jpa/deferred/src/main/java/example/model/Customer739.java
index 8e71ff2fd..7751acc37 100644
--- a/jpa/deferred/src/main/java/example/model/Customer739.java
+++ b/jpa/deferred/src/main/java/example/model/Customer739.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer739 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer74.java b/jpa/deferred/src/main/java/example/model/Customer74.java
index 34d062d64..020554f47 100644
--- a/jpa/deferred/src/main/java/example/model/Customer74.java
+++ b/jpa/deferred/src/main/java/example/model/Customer74.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer74 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer740.java b/jpa/deferred/src/main/java/example/model/Customer740.java
index e0c1b1e0e..c0e964388 100644
--- a/jpa/deferred/src/main/java/example/model/Customer740.java
+++ b/jpa/deferred/src/main/java/example/model/Customer740.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer740 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer741.java b/jpa/deferred/src/main/java/example/model/Customer741.java
index 60946a5f9..124836282 100644
--- a/jpa/deferred/src/main/java/example/model/Customer741.java
+++ b/jpa/deferred/src/main/java/example/model/Customer741.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer741 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer742.java b/jpa/deferred/src/main/java/example/model/Customer742.java
index 79d908fe3..8dcfec366 100644
--- a/jpa/deferred/src/main/java/example/model/Customer742.java
+++ b/jpa/deferred/src/main/java/example/model/Customer742.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer742 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer743.java b/jpa/deferred/src/main/java/example/model/Customer743.java
index 5a6d2716f..d798c1a24 100644
--- a/jpa/deferred/src/main/java/example/model/Customer743.java
+++ b/jpa/deferred/src/main/java/example/model/Customer743.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer743 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer744.java b/jpa/deferred/src/main/java/example/model/Customer744.java
index 79cfc0c40..2a448735b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer744.java
+++ b/jpa/deferred/src/main/java/example/model/Customer744.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer744 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer745.java b/jpa/deferred/src/main/java/example/model/Customer745.java
index cb16f51ec..21e49d094 100644
--- a/jpa/deferred/src/main/java/example/model/Customer745.java
+++ b/jpa/deferred/src/main/java/example/model/Customer745.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer745 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer746.java b/jpa/deferred/src/main/java/example/model/Customer746.java
index fb87871dd..05afa9421 100644
--- a/jpa/deferred/src/main/java/example/model/Customer746.java
+++ b/jpa/deferred/src/main/java/example/model/Customer746.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer746 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer747.java b/jpa/deferred/src/main/java/example/model/Customer747.java
index 60c905276..f15b956fa 100644
--- a/jpa/deferred/src/main/java/example/model/Customer747.java
+++ b/jpa/deferred/src/main/java/example/model/Customer747.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer747 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer748.java b/jpa/deferred/src/main/java/example/model/Customer748.java
index 2ed4c9142..f6c8981b0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer748.java
+++ b/jpa/deferred/src/main/java/example/model/Customer748.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer748 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer749.java b/jpa/deferred/src/main/java/example/model/Customer749.java
index a036be8a2..47f034cc5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer749.java
+++ b/jpa/deferred/src/main/java/example/model/Customer749.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer749 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer75.java b/jpa/deferred/src/main/java/example/model/Customer75.java
index f6788ffd3..437045e1c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer75.java
+++ b/jpa/deferred/src/main/java/example/model/Customer75.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer75 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer750.java b/jpa/deferred/src/main/java/example/model/Customer750.java
index a5a794cc9..98da295d2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer750.java
+++ b/jpa/deferred/src/main/java/example/model/Customer750.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer750 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer751.java b/jpa/deferred/src/main/java/example/model/Customer751.java
index 154c6f908..9c7c50d34 100644
--- a/jpa/deferred/src/main/java/example/model/Customer751.java
+++ b/jpa/deferred/src/main/java/example/model/Customer751.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer751 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer752.java b/jpa/deferred/src/main/java/example/model/Customer752.java
index e852038c3..f6ce711e6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer752.java
+++ b/jpa/deferred/src/main/java/example/model/Customer752.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer752 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer753.java b/jpa/deferred/src/main/java/example/model/Customer753.java
index d62d64953..f5c5f5030 100644
--- a/jpa/deferred/src/main/java/example/model/Customer753.java
+++ b/jpa/deferred/src/main/java/example/model/Customer753.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer753 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer754.java b/jpa/deferred/src/main/java/example/model/Customer754.java
index 5317bd30c..18851d787 100644
--- a/jpa/deferred/src/main/java/example/model/Customer754.java
+++ b/jpa/deferred/src/main/java/example/model/Customer754.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer754 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer755.java b/jpa/deferred/src/main/java/example/model/Customer755.java
index d4e1d8f23..03787dd7a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer755.java
+++ b/jpa/deferred/src/main/java/example/model/Customer755.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer755 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer756.java b/jpa/deferred/src/main/java/example/model/Customer756.java
index 8f59023eb..74f6ee9f9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer756.java
+++ b/jpa/deferred/src/main/java/example/model/Customer756.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer756 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer757.java b/jpa/deferred/src/main/java/example/model/Customer757.java
index 763179687..c254b25ee 100644
--- a/jpa/deferred/src/main/java/example/model/Customer757.java
+++ b/jpa/deferred/src/main/java/example/model/Customer757.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer757 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer758.java b/jpa/deferred/src/main/java/example/model/Customer758.java
index b2d9f7925..686c02b03 100644
--- a/jpa/deferred/src/main/java/example/model/Customer758.java
+++ b/jpa/deferred/src/main/java/example/model/Customer758.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer758 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer759.java b/jpa/deferred/src/main/java/example/model/Customer759.java
index e55e75276..546289520 100644
--- a/jpa/deferred/src/main/java/example/model/Customer759.java
+++ b/jpa/deferred/src/main/java/example/model/Customer759.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer759 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer76.java b/jpa/deferred/src/main/java/example/model/Customer76.java
index 454aeabef..2a130e391 100644
--- a/jpa/deferred/src/main/java/example/model/Customer76.java
+++ b/jpa/deferred/src/main/java/example/model/Customer76.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer76 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer760.java b/jpa/deferred/src/main/java/example/model/Customer760.java
index ae2dad68c..2e0c86e36 100644
--- a/jpa/deferred/src/main/java/example/model/Customer760.java
+++ b/jpa/deferred/src/main/java/example/model/Customer760.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer760 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer761.java b/jpa/deferred/src/main/java/example/model/Customer761.java
index 8399cc886..c7be3cda1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer761.java
+++ b/jpa/deferred/src/main/java/example/model/Customer761.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer761 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer762.java b/jpa/deferred/src/main/java/example/model/Customer762.java
index e029cc4db..3e3d224f6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer762.java
+++ b/jpa/deferred/src/main/java/example/model/Customer762.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer762 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer763.java b/jpa/deferred/src/main/java/example/model/Customer763.java
index 8c394a94f..cad2cb815 100644
--- a/jpa/deferred/src/main/java/example/model/Customer763.java
+++ b/jpa/deferred/src/main/java/example/model/Customer763.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer763 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer764.java b/jpa/deferred/src/main/java/example/model/Customer764.java
index f0ebe0c5b..11eac7717 100644
--- a/jpa/deferred/src/main/java/example/model/Customer764.java
+++ b/jpa/deferred/src/main/java/example/model/Customer764.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer764 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer765.java b/jpa/deferred/src/main/java/example/model/Customer765.java
index 956de6657..a3175e790 100644
--- a/jpa/deferred/src/main/java/example/model/Customer765.java
+++ b/jpa/deferred/src/main/java/example/model/Customer765.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer765 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer766.java b/jpa/deferred/src/main/java/example/model/Customer766.java
index 96333bcac..7883fa1a7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer766.java
+++ b/jpa/deferred/src/main/java/example/model/Customer766.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer766 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer767.java b/jpa/deferred/src/main/java/example/model/Customer767.java
index 4bd795f82..b184e1005 100644
--- a/jpa/deferred/src/main/java/example/model/Customer767.java
+++ b/jpa/deferred/src/main/java/example/model/Customer767.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer767 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer768.java b/jpa/deferred/src/main/java/example/model/Customer768.java
index ba6a7f62b..76a1a04c1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer768.java
+++ b/jpa/deferred/src/main/java/example/model/Customer768.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer768 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer769.java b/jpa/deferred/src/main/java/example/model/Customer769.java
index a9721f5a5..92960107a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer769.java
+++ b/jpa/deferred/src/main/java/example/model/Customer769.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer769 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer77.java b/jpa/deferred/src/main/java/example/model/Customer77.java
index 78f448fa1..0e07631d0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer77.java
+++ b/jpa/deferred/src/main/java/example/model/Customer77.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer77 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer770.java b/jpa/deferred/src/main/java/example/model/Customer770.java
index 390fa7506..3d4051046 100644
--- a/jpa/deferred/src/main/java/example/model/Customer770.java
+++ b/jpa/deferred/src/main/java/example/model/Customer770.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer770 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer771.java b/jpa/deferred/src/main/java/example/model/Customer771.java
index e3b648527..9b8dc7e34 100644
--- a/jpa/deferred/src/main/java/example/model/Customer771.java
+++ b/jpa/deferred/src/main/java/example/model/Customer771.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer771 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer772.java b/jpa/deferred/src/main/java/example/model/Customer772.java
index 8a9588f95..386386ed1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer772.java
+++ b/jpa/deferred/src/main/java/example/model/Customer772.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer772 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer773.java b/jpa/deferred/src/main/java/example/model/Customer773.java
index f50af3149..bde81e12c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer773.java
+++ b/jpa/deferred/src/main/java/example/model/Customer773.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer773 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer774.java b/jpa/deferred/src/main/java/example/model/Customer774.java
index 92b73cefc..4f884e2e5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer774.java
+++ b/jpa/deferred/src/main/java/example/model/Customer774.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer774 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer775.java b/jpa/deferred/src/main/java/example/model/Customer775.java
index 1e8a3c8ac..a8e8b29a7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer775.java
+++ b/jpa/deferred/src/main/java/example/model/Customer775.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer775 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer776.java b/jpa/deferred/src/main/java/example/model/Customer776.java
index 0932d6340..9e86cb603 100644
--- a/jpa/deferred/src/main/java/example/model/Customer776.java
+++ b/jpa/deferred/src/main/java/example/model/Customer776.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer776 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer777.java b/jpa/deferred/src/main/java/example/model/Customer777.java
index 0066d5e4a..1c88ba16b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer777.java
+++ b/jpa/deferred/src/main/java/example/model/Customer777.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer777 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer778.java b/jpa/deferred/src/main/java/example/model/Customer778.java
index 7c443c090..668d86397 100644
--- a/jpa/deferred/src/main/java/example/model/Customer778.java
+++ b/jpa/deferred/src/main/java/example/model/Customer778.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer778 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer779.java b/jpa/deferred/src/main/java/example/model/Customer779.java
index 31a5ee832..5af39449f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer779.java
+++ b/jpa/deferred/src/main/java/example/model/Customer779.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer779 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer78.java b/jpa/deferred/src/main/java/example/model/Customer78.java
index 5f3a0651a..91023e3c3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer78.java
+++ b/jpa/deferred/src/main/java/example/model/Customer78.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer78 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer780.java b/jpa/deferred/src/main/java/example/model/Customer780.java
index 39e2b9b53..3fd702f6c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer780.java
+++ b/jpa/deferred/src/main/java/example/model/Customer780.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer780 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer781.java b/jpa/deferred/src/main/java/example/model/Customer781.java
index d831dd05f..40d309a82 100644
--- a/jpa/deferred/src/main/java/example/model/Customer781.java
+++ b/jpa/deferred/src/main/java/example/model/Customer781.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer781 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer782.java b/jpa/deferred/src/main/java/example/model/Customer782.java
index bc0624a90..d0056edfb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer782.java
+++ b/jpa/deferred/src/main/java/example/model/Customer782.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer782 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer783.java b/jpa/deferred/src/main/java/example/model/Customer783.java
index 3a2edc3ac..1565c1d8d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer783.java
+++ b/jpa/deferred/src/main/java/example/model/Customer783.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer783 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer784.java b/jpa/deferred/src/main/java/example/model/Customer784.java
index 573f3edaa..8e97e9ca3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer784.java
+++ b/jpa/deferred/src/main/java/example/model/Customer784.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer784 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer785.java b/jpa/deferred/src/main/java/example/model/Customer785.java
index a5d90a0bc..f5bda7498 100644
--- a/jpa/deferred/src/main/java/example/model/Customer785.java
+++ b/jpa/deferred/src/main/java/example/model/Customer785.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer785 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer786.java b/jpa/deferred/src/main/java/example/model/Customer786.java
index c45702eff..2e7c74dcd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer786.java
+++ b/jpa/deferred/src/main/java/example/model/Customer786.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer786 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer787.java b/jpa/deferred/src/main/java/example/model/Customer787.java
index d2b2ddf26..7aad2413c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer787.java
+++ b/jpa/deferred/src/main/java/example/model/Customer787.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer787 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer788.java b/jpa/deferred/src/main/java/example/model/Customer788.java
index 213f0f324..b40e55306 100644
--- a/jpa/deferred/src/main/java/example/model/Customer788.java
+++ b/jpa/deferred/src/main/java/example/model/Customer788.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer788 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer789.java b/jpa/deferred/src/main/java/example/model/Customer789.java
index 09e408f36..133a25b16 100644
--- a/jpa/deferred/src/main/java/example/model/Customer789.java
+++ b/jpa/deferred/src/main/java/example/model/Customer789.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer789 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer79.java b/jpa/deferred/src/main/java/example/model/Customer79.java
index 51fbc8c48..4c9c50f95 100644
--- a/jpa/deferred/src/main/java/example/model/Customer79.java
+++ b/jpa/deferred/src/main/java/example/model/Customer79.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer79 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer790.java b/jpa/deferred/src/main/java/example/model/Customer790.java
index 04c7c1bab..477379d22 100644
--- a/jpa/deferred/src/main/java/example/model/Customer790.java
+++ b/jpa/deferred/src/main/java/example/model/Customer790.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer790 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer791.java b/jpa/deferred/src/main/java/example/model/Customer791.java
index 88003fd0b..f36893c05 100644
--- a/jpa/deferred/src/main/java/example/model/Customer791.java
+++ b/jpa/deferred/src/main/java/example/model/Customer791.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer791 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer792.java b/jpa/deferred/src/main/java/example/model/Customer792.java
index 43c55ac86..beb26498c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer792.java
+++ b/jpa/deferred/src/main/java/example/model/Customer792.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer792 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer793.java b/jpa/deferred/src/main/java/example/model/Customer793.java
index 0d2f00cb6..5e744a348 100644
--- a/jpa/deferred/src/main/java/example/model/Customer793.java
+++ b/jpa/deferred/src/main/java/example/model/Customer793.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer793 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer794.java b/jpa/deferred/src/main/java/example/model/Customer794.java
index 79a0c6779..ba95a90ef 100644
--- a/jpa/deferred/src/main/java/example/model/Customer794.java
+++ b/jpa/deferred/src/main/java/example/model/Customer794.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer794 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer795.java b/jpa/deferred/src/main/java/example/model/Customer795.java
index 7f0189b50..8cbdf4490 100644
--- a/jpa/deferred/src/main/java/example/model/Customer795.java
+++ b/jpa/deferred/src/main/java/example/model/Customer795.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer795 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer796.java b/jpa/deferred/src/main/java/example/model/Customer796.java
index 092c78505..bd2193e55 100644
--- a/jpa/deferred/src/main/java/example/model/Customer796.java
+++ b/jpa/deferred/src/main/java/example/model/Customer796.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer796 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer797.java b/jpa/deferred/src/main/java/example/model/Customer797.java
index 4815f643e..20b761edd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer797.java
+++ b/jpa/deferred/src/main/java/example/model/Customer797.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer797 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer798.java b/jpa/deferred/src/main/java/example/model/Customer798.java
index adc98e098..13896051e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer798.java
+++ b/jpa/deferred/src/main/java/example/model/Customer798.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer798 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer799.java b/jpa/deferred/src/main/java/example/model/Customer799.java
index 99b460d12..28c2e6727 100644
--- a/jpa/deferred/src/main/java/example/model/Customer799.java
+++ b/jpa/deferred/src/main/java/example/model/Customer799.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer799 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer8.java b/jpa/deferred/src/main/java/example/model/Customer8.java
index 8e7ac70fc..8e5e7ed96 100644
--- a/jpa/deferred/src/main/java/example/model/Customer8.java
+++ b/jpa/deferred/src/main/java/example/model/Customer8.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer8 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer80.java b/jpa/deferred/src/main/java/example/model/Customer80.java
index 0c04d579e..c5f8a2f3c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer80.java
+++ b/jpa/deferred/src/main/java/example/model/Customer80.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer80 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer800.java b/jpa/deferred/src/main/java/example/model/Customer800.java
index b40838df6..0ebee6f12 100644
--- a/jpa/deferred/src/main/java/example/model/Customer800.java
+++ b/jpa/deferred/src/main/java/example/model/Customer800.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer800 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer801.java b/jpa/deferred/src/main/java/example/model/Customer801.java
index 6266309a4..a274dc175 100644
--- a/jpa/deferred/src/main/java/example/model/Customer801.java
+++ b/jpa/deferred/src/main/java/example/model/Customer801.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer801 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer802.java b/jpa/deferred/src/main/java/example/model/Customer802.java
index b1d3e7c58..30e285a5b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer802.java
+++ b/jpa/deferred/src/main/java/example/model/Customer802.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer802 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer803.java b/jpa/deferred/src/main/java/example/model/Customer803.java
index d24230631..ad9c48d1a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer803.java
+++ b/jpa/deferred/src/main/java/example/model/Customer803.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer803 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer804.java b/jpa/deferred/src/main/java/example/model/Customer804.java
index f4271df4b..7967c8e3a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer804.java
+++ b/jpa/deferred/src/main/java/example/model/Customer804.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer804 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer805.java b/jpa/deferred/src/main/java/example/model/Customer805.java
index 543055dd2..e86a8f14a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer805.java
+++ b/jpa/deferred/src/main/java/example/model/Customer805.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer805 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer806.java b/jpa/deferred/src/main/java/example/model/Customer806.java
index fed5ad411..3f985eae9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer806.java
+++ b/jpa/deferred/src/main/java/example/model/Customer806.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer806 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer807.java b/jpa/deferred/src/main/java/example/model/Customer807.java
index ae24cda5a..f49784a58 100644
--- a/jpa/deferred/src/main/java/example/model/Customer807.java
+++ b/jpa/deferred/src/main/java/example/model/Customer807.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer807 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer808.java b/jpa/deferred/src/main/java/example/model/Customer808.java
index bb5d43ca4..b3481cded 100644
--- a/jpa/deferred/src/main/java/example/model/Customer808.java
+++ b/jpa/deferred/src/main/java/example/model/Customer808.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer808 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer809.java b/jpa/deferred/src/main/java/example/model/Customer809.java
index c6046b4eb..8a60578b6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer809.java
+++ b/jpa/deferred/src/main/java/example/model/Customer809.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer809 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer81.java b/jpa/deferred/src/main/java/example/model/Customer81.java
index 77ac208b0..0babd0bb2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer81.java
+++ b/jpa/deferred/src/main/java/example/model/Customer81.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer81 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer810.java b/jpa/deferred/src/main/java/example/model/Customer810.java
index 7d9e2342c..458a4b6e5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer810.java
+++ b/jpa/deferred/src/main/java/example/model/Customer810.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer810 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer811.java b/jpa/deferred/src/main/java/example/model/Customer811.java
index b894c3218..a53288f42 100644
--- a/jpa/deferred/src/main/java/example/model/Customer811.java
+++ b/jpa/deferred/src/main/java/example/model/Customer811.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer811 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer812.java b/jpa/deferred/src/main/java/example/model/Customer812.java
index 3f474aa7d..686c51cdb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer812.java
+++ b/jpa/deferred/src/main/java/example/model/Customer812.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer812 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer813.java b/jpa/deferred/src/main/java/example/model/Customer813.java
index 7cf661c5f..efbfafdbb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer813.java
+++ b/jpa/deferred/src/main/java/example/model/Customer813.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer813 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer814.java b/jpa/deferred/src/main/java/example/model/Customer814.java
index 69a564a5d..4f6d5743b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer814.java
+++ b/jpa/deferred/src/main/java/example/model/Customer814.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer814 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer815.java b/jpa/deferred/src/main/java/example/model/Customer815.java
index 8ee526873..21099f6f7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer815.java
+++ b/jpa/deferred/src/main/java/example/model/Customer815.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer815 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer816.java b/jpa/deferred/src/main/java/example/model/Customer816.java
index 761aa2053..d69d8277b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer816.java
+++ b/jpa/deferred/src/main/java/example/model/Customer816.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer816 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer817.java b/jpa/deferred/src/main/java/example/model/Customer817.java
index a705bf4b1..648bd45d1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer817.java
+++ b/jpa/deferred/src/main/java/example/model/Customer817.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer817 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer818.java b/jpa/deferred/src/main/java/example/model/Customer818.java
index c0f98b0b0..1e9602bcb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer818.java
+++ b/jpa/deferred/src/main/java/example/model/Customer818.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer818 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer819.java b/jpa/deferred/src/main/java/example/model/Customer819.java
index a5237db3c..83e4dbbbc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer819.java
+++ b/jpa/deferred/src/main/java/example/model/Customer819.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer819 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer82.java b/jpa/deferred/src/main/java/example/model/Customer82.java
index d0bf8c56e..cbb50fa0b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer82.java
+++ b/jpa/deferred/src/main/java/example/model/Customer82.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer82 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer820.java b/jpa/deferred/src/main/java/example/model/Customer820.java
index a20f944c9..1eb55e8f1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer820.java
+++ b/jpa/deferred/src/main/java/example/model/Customer820.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer820 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer821.java b/jpa/deferred/src/main/java/example/model/Customer821.java
index 50a57dc18..ea2412fa1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer821.java
+++ b/jpa/deferred/src/main/java/example/model/Customer821.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer821 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer822.java b/jpa/deferred/src/main/java/example/model/Customer822.java
index 7f2f85ec5..394d14196 100644
--- a/jpa/deferred/src/main/java/example/model/Customer822.java
+++ b/jpa/deferred/src/main/java/example/model/Customer822.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer822 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer823.java b/jpa/deferred/src/main/java/example/model/Customer823.java
index 52591eaad..4476f567f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer823.java
+++ b/jpa/deferred/src/main/java/example/model/Customer823.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer823 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer824.java b/jpa/deferred/src/main/java/example/model/Customer824.java
index ff834e530..83eb8fe79 100644
--- a/jpa/deferred/src/main/java/example/model/Customer824.java
+++ b/jpa/deferred/src/main/java/example/model/Customer824.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer824 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer825.java b/jpa/deferred/src/main/java/example/model/Customer825.java
index a0680fadd..375907a59 100644
--- a/jpa/deferred/src/main/java/example/model/Customer825.java
+++ b/jpa/deferred/src/main/java/example/model/Customer825.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer825 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer826.java b/jpa/deferred/src/main/java/example/model/Customer826.java
index b800fcdac..a615bc46f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer826.java
+++ b/jpa/deferred/src/main/java/example/model/Customer826.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer826 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer827.java b/jpa/deferred/src/main/java/example/model/Customer827.java
index e2535534f..dc786300f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer827.java
+++ b/jpa/deferred/src/main/java/example/model/Customer827.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer827 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer828.java b/jpa/deferred/src/main/java/example/model/Customer828.java
index ff7931739..fd84c3492 100644
--- a/jpa/deferred/src/main/java/example/model/Customer828.java
+++ b/jpa/deferred/src/main/java/example/model/Customer828.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer828 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer829.java b/jpa/deferred/src/main/java/example/model/Customer829.java
index 2e6ac2fc8..1f3ee12e3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer829.java
+++ b/jpa/deferred/src/main/java/example/model/Customer829.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer829 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer83.java b/jpa/deferred/src/main/java/example/model/Customer83.java
index c2a8bb2ee..4dd2b8c93 100644
--- a/jpa/deferred/src/main/java/example/model/Customer83.java
+++ b/jpa/deferred/src/main/java/example/model/Customer83.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer83 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer830.java b/jpa/deferred/src/main/java/example/model/Customer830.java
index a17e7c08b..47e5834af 100644
--- a/jpa/deferred/src/main/java/example/model/Customer830.java
+++ b/jpa/deferred/src/main/java/example/model/Customer830.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer830 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer831.java b/jpa/deferred/src/main/java/example/model/Customer831.java
index 46295fad0..72812cc80 100644
--- a/jpa/deferred/src/main/java/example/model/Customer831.java
+++ b/jpa/deferred/src/main/java/example/model/Customer831.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer831 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer832.java b/jpa/deferred/src/main/java/example/model/Customer832.java
index 5a74b1412..9c2b27317 100644
--- a/jpa/deferred/src/main/java/example/model/Customer832.java
+++ b/jpa/deferred/src/main/java/example/model/Customer832.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer832 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer833.java b/jpa/deferred/src/main/java/example/model/Customer833.java
index ea6f99da2..d57e7365c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer833.java
+++ b/jpa/deferred/src/main/java/example/model/Customer833.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer833 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer834.java b/jpa/deferred/src/main/java/example/model/Customer834.java
index b4a612501..653c54a1e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer834.java
+++ b/jpa/deferred/src/main/java/example/model/Customer834.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer834 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer835.java b/jpa/deferred/src/main/java/example/model/Customer835.java
index 6614a795b..2e48b8e2b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer835.java
+++ b/jpa/deferred/src/main/java/example/model/Customer835.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer835 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer836.java b/jpa/deferred/src/main/java/example/model/Customer836.java
index 6993dff8a..6376f8f0b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer836.java
+++ b/jpa/deferred/src/main/java/example/model/Customer836.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer836 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer837.java b/jpa/deferred/src/main/java/example/model/Customer837.java
index a07dfc70d..77374a9b8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer837.java
+++ b/jpa/deferred/src/main/java/example/model/Customer837.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer837 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer838.java b/jpa/deferred/src/main/java/example/model/Customer838.java
index 1f5364d54..5ecf4fce3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer838.java
+++ b/jpa/deferred/src/main/java/example/model/Customer838.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer838 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer839.java b/jpa/deferred/src/main/java/example/model/Customer839.java
index 93566e869..733d7018a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer839.java
+++ b/jpa/deferred/src/main/java/example/model/Customer839.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer839 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer84.java b/jpa/deferred/src/main/java/example/model/Customer84.java
index 3621fad2e..efa38d132 100644
--- a/jpa/deferred/src/main/java/example/model/Customer84.java
+++ b/jpa/deferred/src/main/java/example/model/Customer84.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer84 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer840.java b/jpa/deferred/src/main/java/example/model/Customer840.java
index b3ef0bb4c..6ffed7313 100644
--- a/jpa/deferred/src/main/java/example/model/Customer840.java
+++ b/jpa/deferred/src/main/java/example/model/Customer840.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer840 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer841.java b/jpa/deferred/src/main/java/example/model/Customer841.java
index 9c1eab10b..887930191 100644
--- a/jpa/deferred/src/main/java/example/model/Customer841.java
+++ b/jpa/deferred/src/main/java/example/model/Customer841.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer841 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer842.java b/jpa/deferred/src/main/java/example/model/Customer842.java
index 381563b99..9c2bdcf39 100644
--- a/jpa/deferred/src/main/java/example/model/Customer842.java
+++ b/jpa/deferred/src/main/java/example/model/Customer842.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer842 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer843.java b/jpa/deferred/src/main/java/example/model/Customer843.java
index 3d13d0e83..4976a8ef9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer843.java
+++ b/jpa/deferred/src/main/java/example/model/Customer843.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer843 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer844.java b/jpa/deferred/src/main/java/example/model/Customer844.java
index 49272c301..7c589e310 100644
--- a/jpa/deferred/src/main/java/example/model/Customer844.java
+++ b/jpa/deferred/src/main/java/example/model/Customer844.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer844 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer845.java b/jpa/deferred/src/main/java/example/model/Customer845.java
index e27e33f01..16c27b012 100644
--- a/jpa/deferred/src/main/java/example/model/Customer845.java
+++ b/jpa/deferred/src/main/java/example/model/Customer845.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer845 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer846.java b/jpa/deferred/src/main/java/example/model/Customer846.java
index be7d9a0c4..3aff73960 100644
--- a/jpa/deferred/src/main/java/example/model/Customer846.java
+++ b/jpa/deferred/src/main/java/example/model/Customer846.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer846 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer847.java b/jpa/deferred/src/main/java/example/model/Customer847.java
index d77e7749c..8dcc92d9b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer847.java
+++ b/jpa/deferred/src/main/java/example/model/Customer847.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer847 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer848.java b/jpa/deferred/src/main/java/example/model/Customer848.java
index 03a414b9e..1d2219e5c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer848.java
+++ b/jpa/deferred/src/main/java/example/model/Customer848.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer848 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer849.java b/jpa/deferred/src/main/java/example/model/Customer849.java
index b46a26d2b..838faf960 100644
--- a/jpa/deferred/src/main/java/example/model/Customer849.java
+++ b/jpa/deferred/src/main/java/example/model/Customer849.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer849 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer85.java b/jpa/deferred/src/main/java/example/model/Customer85.java
index a279d5f62..37911e987 100644
--- a/jpa/deferred/src/main/java/example/model/Customer85.java
+++ b/jpa/deferred/src/main/java/example/model/Customer85.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer85 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer850.java b/jpa/deferred/src/main/java/example/model/Customer850.java
index d367191d6..b8f7b8100 100644
--- a/jpa/deferred/src/main/java/example/model/Customer850.java
+++ b/jpa/deferred/src/main/java/example/model/Customer850.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer850 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer851.java b/jpa/deferred/src/main/java/example/model/Customer851.java
index 3d6bf1290..a818010e8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer851.java
+++ b/jpa/deferred/src/main/java/example/model/Customer851.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer851 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer852.java b/jpa/deferred/src/main/java/example/model/Customer852.java
index 72cb5079d..85dcb56b1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer852.java
+++ b/jpa/deferred/src/main/java/example/model/Customer852.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer852 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer853.java b/jpa/deferred/src/main/java/example/model/Customer853.java
index 528c679e7..595867ef1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer853.java
+++ b/jpa/deferred/src/main/java/example/model/Customer853.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer853 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer854.java b/jpa/deferred/src/main/java/example/model/Customer854.java
index c85d6888a..949071cf8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer854.java
+++ b/jpa/deferred/src/main/java/example/model/Customer854.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer854 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer855.java b/jpa/deferred/src/main/java/example/model/Customer855.java
index 74e6bc4b5..36f9e494b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer855.java
+++ b/jpa/deferred/src/main/java/example/model/Customer855.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer855 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer856.java b/jpa/deferred/src/main/java/example/model/Customer856.java
index cba7a9330..3c2e1f002 100644
--- a/jpa/deferred/src/main/java/example/model/Customer856.java
+++ b/jpa/deferred/src/main/java/example/model/Customer856.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer856 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer857.java b/jpa/deferred/src/main/java/example/model/Customer857.java
index 36af5fbfe..59927ad0f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer857.java
+++ b/jpa/deferred/src/main/java/example/model/Customer857.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer857 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer858.java b/jpa/deferred/src/main/java/example/model/Customer858.java
index c61661fc4..182de17ff 100644
--- a/jpa/deferred/src/main/java/example/model/Customer858.java
+++ b/jpa/deferred/src/main/java/example/model/Customer858.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer858 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer859.java b/jpa/deferred/src/main/java/example/model/Customer859.java
index 4217c2d24..5a6ceb4b9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer859.java
+++ b/jpa/deferred/src/main/java/example/model/Customer859.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer859 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer86.java b/jpa/deferred/src/main/java/example/model/Customer86.java
index 016722890..54dba2d82 100644
--- a/jpa/deferred/src/main/java/example/model/Customer86.java
+++ b/jpa/deferred/src/main/java/example/model/Customer86.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer86 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer860.java b/jpa/deferred/src/main/java/example/model/Customer860.java
index 57c244aad..07897e1cf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer860.java
+++ b/jpa/deferred/src/main/java/example/model/Customer860.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer860 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer861.java b/jpa/deferred/src/main/java/example/model/Customer861.java
index 1f197c727..35c6520df 100644
--- a/jpa/deferred/src/main/java/example/model/Customer861.java
+++ b/jpa/deferred/src/main/java/example/model/Customer861.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer861 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer862.java b/jpa/deferred/src/main/java/example/model/Customer862.java
index f2f363caa..3d12677b1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer862.java
+++ b/jpa/deferred/src/main/java/example/model/Customer862.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer862 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer863.java b/jpa/deferred/src/main/java/example/model/Customer863.java
index 28eac91a5..aa995e272 100644
--- a/jpa/deferred/src/main/java/example/model/Customer863.java
+++ b/jpa/deferred/src/main/java/example/model/Customer863.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer863 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer864.java b/jpa/deferred/src/main/java/example/model/Customer864.java
index 19964370c..070984569 100644
--- a/jpa/deferred/src/main/java/example/model/Customer864.java
+++ b/jpa/deferred/src/main/java/example/model/Customer864.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer864 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer865.java b/jpa/deferred/src/main/java/example/model/Customer865.java
index e49dd431e..c6da348af 100644
--- a/jpa/deferred/src/main/java/example/model/Customer865.java
+++ b/jpa/deferred/src/main/java/example/model/Customer865.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer865 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer866.java b/jpa/deferred/src/main/java/example/model/Customer866.java
index d2ab8192b..3e5a48685 100644
--- a/jpa/deferred/src/main/java/example/model/Customer866.java
+++ b/jpa/deferred/src/main/java/example/model/Customer866.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer866 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer867.java b/jpa/deferred/src/main/java/example/model/Customer867.java
index 87b693031..56b944d31 100644
--- a/jpa/deferred/src/main/java/example/model/Customer867.java
+++ b/jpa/deferred/src/main/java/example/model/Customer867.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer867 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer868.java b/jpa/deferred/src/main/java/example/model/Customer868.java
index 688921b58..0090b411c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer868.java
+++ b/jpa/deferred/src/main/java/example/model/Customer868.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer868 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer869.java b/jpa/deferred/src/main/java/example/model/Customer869.java
index b84415774..ee5989b86 100644
--- a/jpa/deferred/src/main/java/example/model/Customer869.java
+++ b/jpa/deferred/src/main/java/example/model/Customer869.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer869 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer87.java b/jpa/deferred/src/main/java/example/model/Customer87.java
index 4493ab536..bf57919cb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer87.java
+++ b/jpa/deferred/src/main/java/example/model/Customer87.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer87 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer870.java b/jpa/deferred/src/main/java/example/model/Customer870.java
index 6e8d28b14..95e62090e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer870.java
+++ b/jpa/deferred/src/main/java/example/model/Customer870.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer870 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer871.java b/jpa/deferred/src/main/java/example/model/Customer871.java
index d66b200d5..501201fe3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer871.java
+++ b/jpa/deferred/src/main/java/example/model/Customer871.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer871 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer872.java b/jpa/deferred/src/main/java/example/model/Customer872.java
index 1541f8d5d..2219429e9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer872.java
+++ b/jpa/deferred/src/main/java/example/model/Customer872.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer872 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer873.java b/jpa/deferred/src/main/java/example/model/Customer873.java
index 76b8d829a..559ae8e75 100644
--- a/jpa/deferred/src/main/java/example/model/Customer873.java
+++ b/jpa/deferred/src/main/java/example/model/Customer873.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer873 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer874.java b/jpa/deferred/src/main/java/example/model/Customer874.java
index a3b182faa..b6e5aba68 100644
--- a/jpa/deferred/src/main/java/example/model/Customer874.java
+++ b/jpa/deferred/src/main/java/example/model/Customer874.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer874 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer875.java b/jpa/deferred/src/main/java/example/model/Customer875.java
index 2b14f1fb1..163a95bbb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer875.java
+++ b/jpa/deferred/src/main/java/example/model/Customer875.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer875 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer876.java b/jpa/deferred/src/main/java/example/model/Customer876.java
index 8590fed98..cb0c0db99 100644
--- a/jpa/deferred/src/main/java/example/model/Customer876.java
+++ b/jpa/deferred/src/main/java/example/model/Customer876.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer876 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer877.java b/jpa/deferred/src/main/java/example/model/Customer877.java
index 3dc1b7bad..a77934aff 100644
--- a/jpa/deferred/src/main/java/example/model/Customer877.java
+++ b/jpa/deferred/src/main/java/example/model/Customer877.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer877 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer878.java b/jpa/deferred/src/main/java/example/model/Customer878.java
index 641c520a4..c70b74866 100644
--- a/jpa/deferred/src/main/java/example/model/Customer878.java
+++ b/jpa/deferred/src/main/java/example/model/Customer878.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer878 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer879.java b/jpa/deferred/src/main/java/example/model/Customer879.java
index 4b52ba472..d13ee3c83 100644
--- a/jpa/deferred/src/main/java/example/model/Customer879.java
+++ b/jpa/deferred/src/main/java/example/model/Customer879.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer879 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer88.java b/jpa/deferred/src/main/java/example/model/Customer88.java
index 78345c5c2..b1ec00a56 100644
--- a/jpa/deferred/src/main/java/example/model/Customer88.java
+++ b/jpa/deferred/src/main/java/example/model/Customer88.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer88 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer880.java b/jpa/deferred/src/main/java/example/model/Customer880.java
index afc74f55e..2fbb24ea0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer880.java
+++ b/jpa/deferred/src/main/java/example/model/Customer880.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer880 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer881.java b/jpa/deferred/src/main/java/example/model/Customer881.java
index c54493f6f..1fa2b629a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer881.java
+++ b/jpa/deferred/src/main/java/example/model/Customer881.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer881 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer882.java b/jpa/deferred/src/main/java/example/model/Customer882.java
index a470bc0a7..fdac324be 100644
--- a/jpa/deferred/src/main/java/example/model/Customer882.java
+++ b/jpa/deferred/src/main/java/example/model/Customer882.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer882 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer883.java b/jpa/deferred/src/main/java/example/model/Customer883.java
index b23ca60fd..bcf31d9b6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer883.java
+++ b/jpa/deferred/src/main/java/example/model/Customer883.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer883 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer884.java b/jpa/deferred/src/main/java/example/model/Customer884.java
index ec29f1dec..123d34e79 100644
--- a/jpa/deferred/src/main/java/example/model/Customer884.java
+++ b/jpa/deferred/src/main/java/example/model/Customer884.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer884 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer885.java b/jpa/deferred/src/main/java/example/model/Customer885.java
index da64b0514..861dabfab 100644
--- a/jpa/deferred/src/main/java/example/model/Customer885.java
+++ b/jpa/deferred/src/main/java/example/model/Customer885.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer885 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer886.java b/jpa/deferred/src/main/java/example/model/Customer886.java
index 07f03538e..bc9bb93d2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer886.java
+++ b/jpa/deferred/src/main/java/example/model/Customer886.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer886 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer887.java b/jpa/deferred/src/main/java/example/model/Customer887.java
index 562b2854a..0be57eb13 100644
--- a/jpa/deferred/src/main/java/example/model/Customer887.java
+++ b/jpa/deferred/src/main/java/example/model/Customer887.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer887 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer888.java b/jpa/deferred/src/main/java/example/model/Customer888.java
index af693fd66..415933d14 100644
--- a/jpa/deferred/src/main/java/example/model/Customer888.java
+++ b/jpa/deferred/src/main/java/example/model/Customer888.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer888 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer889.java b/jpa/deferred/src/main/java/example/model/Customer889.java
index 20513069c..efa6437fd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer889.java
+++ b/jpa/deferred/src/main/java/example/model/Customer889.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer889 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer89.java b/jpa/deferred/src/main/java/example/model/Customer89.java
index 440dd78b0..530a9c2c0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer89.java
+++ b/jpa/deferred/src/main/java/example/model/Customer89.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer89 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer890.java b/jpa/deferred/src/main/java/example/model/Customer890.java
index 8e05236da..0ca9492c8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer890.java
+++ b/jpa/deferred/src/main/java/example/model/Customer890.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer890 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer891.java b/jpa/deferred/src/main/java/example/model/Customer891.java
index 80fd20edb..3bb9a1785 100644
--- a/jpa/deferred/src/main/java/example/model/Customer891.java
+++ b/jpa/deferred/src/main/java/example/model/Customer891.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer891 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer892.java b/jpa/deferred/src/main/java/example/model/Customer892.java
index f1b7d90ff..5e189ad55 100644
--- a/jpa/deferred/src/main/java/example/model/Customer892.java
+++ b/jpa/deferred/src/main/java/example/model/Customer892.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer892 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer893.java b/jpa/deferred/src/main/java/example/model/Customer893.java
index dd5f963cf..b997d9b4f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer893.java
+++ b/jpa/deferred/src/main/java/example/model/Customer893.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer893 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer894.java b/jpa/deferred/src/main/java/example/model/Customer894.java
index ea8df0f16..4f1e2f32b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer894.java
+++ b/jpa/deferred/src/main/java/example/model/Customer894.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer894 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer895.java b/jpa/deferred/src/main/java/example/model/Customer895.java
index 53ce4139c..6957eac3a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer895.java
+++ b/jpa/deferred/src/main/java/example/model/Customer895.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer895 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer896.java b/jpa/deferred/src/main/java/example/model/Customer896.java
index 7f7fd7bcf..6a9b5be4e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer896.java
+++ b/jpa/deferred/src/main/java/example/model/Customer896.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer896 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer897.java b/jpa/deferred/src/main/java/example/model/Customer897.java
index 1c3a693ea..5f08ac168 100644
--- a/jpa/deferred/src/main/java/example/model/Customer897.java
+++ b/jpa/deferred/src/main/java/example/model/Customer897.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer897 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer898.java b/jpa/deferred/src/main/java/example/model/Customer898.java
index d36ac6713..4d113517b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer898.java
+++ b/jpa/deferred/src/main/java/example/model/Customer898.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer898 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer899.java b/jpa/deferred/src/main/java/example/model/Customer899.java
index bd7d8b738..02c5f59e9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer899.java
+++ b/jpa/deferred/src/main/java/example/model/Customer899.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer899 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer9.java b/jpa/deferred/src/main/java/example/model/Customer9.java
index 80728e8b4..3c539e73c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer9.java
+++ b/jpa/deferred/src/main/java/example/model/Customer9.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer9 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer90.java b/jpa/deferred/src/main/java/example/model/Customer90.java
index e6683619b..c6d239256 100644
--- a/jpa/deferred/src/main/java/example/model/Customer90.java
+++ b/jpa/deferred/src/main/java/example/model/Customer90.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer90 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer900.java b/jpa/deferred/src/main/java/example/model/Customer900.java
index 56c6e2e3b..fcfe479e7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer900.java
+++ b/jpa/deferred/src/main/java/example/model/Customer900.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer900 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer901.java b/jpa/deferred/src/main/java/example/model/Customer901.java
index 2c7ac4c30..7b906006c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer901.java
+++ b/jpa/deferred/src/main/java/example/model/Customer901.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer901 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer902.java b/jpa/deferred/src/main/java/example/model/Customer902.java
index 74c5d5680..2740d9918 100644
--- a/jpa/deferred/src/main/java/example/model/Customer902.java
+++ b/jpa/deferred/src/main/java/example/model/Customer902.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer902 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer903.java b/jpa/deferred/src/main/java/example/model/Customer903.java
index 24f5ca446..8520504ca 100644
--- a/jpa/deferred/src/main/java/example/model/Customer903.java
+++ b/jpa/deferred/src/main/java/example/model/Customer903.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer903 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer904.java b/jpa/deferred/src/main/java/example/model/Customer904.java
index 99628c7d5..764b4a433 100644
--- a/jpa/deferred/src/main/java/example/model/Customer904.java
+++ b/jpa/deferred/src/main/java/example/model/Customer904.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer904 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer905.java b/jpa/deferred/src/main/java/example/model/Customer905.java
index e404cf279..c30dad553 100644
--- a/jpa/deferred/src/main/java/example/model/Customer905.java
+++ b/jpa/deferred/src/main/java/example/model/Customer905.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer905 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer906.java b/jpa/deferred/src/main/java/example/model/Customer906.java
index 765fe7e2c..d77a763a2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer906.java
+++ b/jpa/deferred/src/main/java/example/model/Customer906.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer906 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer907.java b/jpa/deferred/src/main/java/example/model/Customer907.java
index 8fb354a02..0e1c61ebd 100644
--- a/jpa/deferred/src/main/java/example/model/Customer907.java
+++ b/jpa/deferred/src/main/java/example/model/Customer907.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer907 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer908.java b/jpa/deferred/src/main/java/example/model/Customer908.java
index a4bc5bc87..94c07ecd3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer908.java
+++ b/jpa/deferred/src/main/java/example/model/Customer908.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer908 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer909.java b/jpa/deferred/src/main/java/example/model/Customer909.java
index d45386690..fcf85ede2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer909.java
+++ b/jpa/deferred/src/main/java/example/model/Customer909.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer909 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer91.java b/jpa/deferred/src/main/java/example/model/Customer91.java
index 2d026afa2..c6dc4a225 100644
--- a/jpa/deferred/src/main/java/example/model/Customer91.java
+++ b/jpa/deferred/src/main/java/example/model/Customer91.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer91 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer910.java b/jpa/deferred/src/main/java/example/model/Customer910.java
index be53d4a67..af60220ed 100644
--- a/jpa/deferred/src/main/java/example/model/Customer910.java
+++ b/jpa/deferred/src/main/java/example/model/Customer910.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer910 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer911.java b/jpa/deferred/src/main/java/example/model/Customer911.java
index d0e3736bc..5e48a0dca 100644
--- a/jpa/deferred/src/main/java/example/model/Customer911.java
+++ b/jpa/deferred/src/main/java/example/model/Customer911.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer911 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer912.java b/jpa/deferred/src/main/java/example/model/Customer912.java
index 8575d8691..5c0650bd8 100644
--- a/jpa/deferred/src/main/java/example/model/Customer912.java
+++ b/jpa/deferred/src/main/java/example/model/Customer912.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer912 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer913.java b/jpa/deferred/src/main/java/example/model/Customer913.java
index 92dc2e5a0..21f56bc85 100644
--- a/jpa/deferred/src/main/java/example/model/Customer913.java
+++ b/jpa/deferred/src/main/java/example/model/Customer913.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer913 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer914.java b/jpa/deferred/src/main/java/example/model/Customer914.java
index bf8437b66..2d4ecf5fe 100644
--- a/jpa/deferred/src/main/java/example/model/Customer914.java
+++ b/jpa/deferred/src/main/java/example/model/Customer914.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer914 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer915.java b/jpa/deferred/src/main/java/example/model/Customer915.java
index 62e5ff1cd..36ae9d202 100644
--- a/jpa/deferred/src/main/java/example/model/Customer915.java
+++ b/jpa/deferred/src/main/java/example/model/Customer915.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer915 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer916.java b/jpa/deferred/src/main/java/example/model/Customer916.java
index cc49bf876..eed4eaa43 100644
--- a/jpa/deferred/src/main/java/example/model/Customer916.java
+++ b/jpa/deferred/src/main/java/example/model/Customer916.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer916 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer917.java b/jpa/deferred/src/main/java/example/model/Customer917.java
index 89c985de6..a593e76fc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer917.java
+++ b/jpa/deferred/src/main/java/example/model/Customer917.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer917 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer918.java b/jpa/deferred/src/main/java/example/model/Customer918.java
index 125faae3f..4f550b088 100644
--- a/jpa/deferred/src/main/java/example/model/Customer918.java
+++ b/jpa/deferred/src/main/java/example/model/Customer918.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer918 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer919.java b/jpa/deferred/src/main/java/example/model/Customer919.java
index f5803e2fc..01d2f5b3e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer919.java
+++ b/jpa/deferred/src/main/java/example/model/Customer919.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer919 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer92.java b/jpa/deferred/src/main/java/example/model/Customer92.java
index 71350954c..bac5a733d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer92.java
+++ b/jpa/deferred/src/main/java/example/model/Customer92.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer92 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer920.java b/jpa/deferred/src/main/java/example/model/Customer920.java
index 44ecf53a3..2bad4dc52 100644
--- a/jpa/deferred/src/main/java/example/model/Customer920.java
+++ b/jpa/deferred/src/main/java/example/model/Customer920.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer920 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer921.java b/jpa/deferred/src/main/java/example/model/Customer921.java
index 4ac9c4d40..df166df53 100644
--- a/jpa/deferred/src/main/java/example/model/Customer921.java
+++ b/jpa/deferred/src/main/java/example/model/Customer921.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer921 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer922.java b/jpa/deferred/src/main/java/example/model/Customer922.java
index 3fb93a4d6..31bc1bb8e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer922.java
+++ b/jpa/deferred/src/main/java/example/model/Customer922.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer922 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer923.java b/jpa/deferred/src/main/java/example/model/Customer923.java
index 372a36bde..939765932 100644
--- a/jpa/deferred/src/main/java/example/model/Customer923.java
+++ b/jpa/deferred/src/main/java/example/model/Customer923.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer923 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer924.java b/jpa/deferred/src/main/java/example/model/Customer924.java
index fbb9e2ec2..efaf0b14f 100644
--- a/jpa/deferred/src/main/java/example/model/Customer924.java
+++ b/jpa/deferred/src/main/java/example/model/Customer924.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer924 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer925.java b/jpa/deferred/src/main/java/example/model/Customer925.java
index e014980c4..a2272301d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer925.java
+++ b/jpa/deferred/src/main/java/example/model/Customer925.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer925 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer926.java b/jpa/deferred/src/main/java/example/model/Customer926.java
index ae23f55be..b432c6caf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer926.java
+++ b/jpa/deferred/src/main/java/example/model/Customer926.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer926 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer927.java b/jpa/deferred/src/main/java/example/model/Customer927.java
index b8c079df3..7c9341900 100644
--- a/jpa/deferred/src/main/java/example/model/Customer927.java
+++ b/jpa/deferred/src/main/java/example/model/Customer927.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer927 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer928.java b/jpa/deferred/src/main/java/example/model/Customer928.java
index bbf42d6d4..bfdad951c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer928.java
+++ b/jpa/deferred/src/main/java/example/model/Customer928.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer928 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer929.java b/jpa/deferred/src/main/java/example/model/Customer929.java
index 573c4127b..c1f15871e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer929.java
+++ b/jpa/deferred/src/main/java/example/model/Customer929.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer929 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer93.java b/jpa/deferred/src/main/java/example/model/Customer93.java
index 3823b5fb1..acae1b2ca 100644
--- a/jpa/deferred/src/main/java/example/model/Customer93.java
+++ b/jpa/deferred/src/main/java/example/model/Customer93.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer93 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer930.java b/jpa/deferred/src/main/java/example/model/Customer930.java
index 50bbd3f55..d21508482 100644
--- a/jpa/deferred/src/main/java/example/model/Customer930.java
+++ b/jpa/deferred/src/main/java/example/model/Customer930.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer930 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer931.java b/jpa/deferred/src/main/java/example/model/Customer931.java
index 18c1893ec..a29605ac6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer931.java
+++ b/jpa/deferred/src/main/java/example/model/Customer931.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer931 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer932.java b/jpa/deferred/src/main/java/example/model/Customer932.java
index 369fea643..139d079a7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer932.java
+++ b/jpa/deferred/src/main/java/example/model/Customer932.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer932 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer933.java b/jpa/deferred/src/main/java/example/model/Customer933.java
index cd97aaaf4..d0d9bc546 100644
--- a/jpa/deferred/src/main/java/example/model/Customer933.java
+++ b/jpa/deferred/src/main/java/example/model/Customer933.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer933 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer934.java b/jpa/deferred/src/main/java/example/model/Customer934.java
index 5a932f8dd..f68f791cb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer934.java
+++ b/jpa/deferred/src/main/java/example/model/Customer934.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer934 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer935.java b/jpa/deferred/src/main/java/example/model/Customer935.java
index 58bf0bf72..b93cf78ba 100644
--- a/jpa/deferred/src/main/java/example/model/Customer935.java
+++ b/jpa/deferred/src/main/java/example/model/Customer935.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer935 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer936.java b/jpa/deferred/src/main/java/example/model/Customer936.java
index 2699d3ede..1d9e06b13 100644
--- a/jpa/deferred/src/main/java/example/model/Customer936.java
+++ b/jpa/deferred/src/main/java/example/model/Customer936.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer936 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer937.java b/jpa/deferred/src/main/java/example/model/Customer937.java
index 3afd6bb12..2d3af8d7e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer937.java
+++ b/jpa/deferred/src/main/java/example/model/Customer937.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer937 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer938.java b/jpa/deferred/src/main/java/example/model/Customer938.java
index 7135eb17a..23f378a94 100644
--- a/jpa/deferred/src/main/java/example/model/Customer938.java
+++ b/jpa/deferred/src/main/java/example/model/Customer938.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer938 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer939.java b/jpa/deferred/src/main/java/example/model/Customer939.java
index 6eb4245f9..c0188027d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer939.java
+++ b/jpa/deferred/src/main/java/example/model/Customer939.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer939 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer94.java b/jpa/deferred/src/main/java/example/model/Customer94.java
index b6f2ac2ca..9495cccdc 100644
--- a/jpa/deferred/src/main/java/example/model/Customer94.java
+++ b/jpa/deferred/src/main/java/example/model/Customer94.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer94 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer940.java b/jpa/deferred/src/main/java/example/model/Customer940.java
index 305c2a64b..0fe859be0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer940.java
+++ b/jpa/deferred/src/main/java/example/model/Customer940.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer940 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer941.java b/jpa/deferred/src/main/java/example/model/Customer941.java
index d36295c7a..18fa3d5cf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer941.java
+++ b/jpa/deferred/src/main/java/example/model/Customer941.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer941 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer942.java b/jpa/deferred/src/main/java/example/model/Customer942.java
index fd65e167a..fcc79a6d5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer942.java
+++ b/jpa/deferred/src/main/java/example/model/Customer942.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer942 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer943.java b/jpa/deferred/src/main/java/example/model/Customer943.java
index 292f48062..41179e070 100644
--- a/jpa/deferred/src/main/java/example/model/Customer943.java
+++ b/jpa/deferred/src/main/java/example/model/Customer943.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer943 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer944.java b/jpa/deferred/src/main/java/example/model/Customer944.java
index 70e9b60d4..c1d0cc76d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer944.java
+++ b/jpa/deferred/src/main/java/example/model/Customer944.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer944 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer945.java b/jpa/deferred/src/main/java/example/model/Customer945.java
index 9fc29a775..792187b78 100644
--- a/jpa/deferred/src/main/java/example/model/Customer945.java
+++ b/jpa/deferred/src/main/java/example/model/Customer945.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer945 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer946.java b/jpa/deferred/src/main/java/example/model/Customer946.java
index a38454c2f..8cdcafe5e 100644
--- a/jpa/deferred/src/main/java/example/model/Customer946.java
+++ b/jpa/deferred/src/main/java/example/model/Customer946.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer946 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer947.java b/jpa/deferred/src/main/java/example/model/Customer947.java
index c2fccd323..7832027a6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer947.java
+++ b/jpa/deferred/src/main/java/example/model/Customer947.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer947 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer948.java b/jpa/deferred/src/main/java/example/model/Customer948.java
index 62b400d4f..a18eb9173 100644
--- a/jpa/deferred/src/main/java/example/model/Customer948.java
+++ b/jpa/deferred/src/main/java/example/model/Customer948.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer948 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer949.java b/jpa/deferred/src/main/java/example/model/Customer949.java
index 701e1fa02..ddd49ecb0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer949.java
+++ b/jpa/deferred/src/main/java/example/model/Customer949.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer949 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer95.java b/jpa/deferred/src/main/java/example/model/Customer95.java
index 23d28e2bb..41d17a9c9 100644
--- a/jpa/deferred/src/main/java/example/model/Customer95.java
+++ b/jpa/deferred/src/main/java/example/model/Customer95.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer95 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer950.java b/jpa/deferred/src/main/java/example/model/Customer950.java
index 32c3d4f81..fa9a339d3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer950.java
+++ b/jpa/deferred/src/main/java/example/model/Customer950.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer950 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer951.java b/jpa/deferred/src/main/java/example/model/Customer951.java
index f3ce6725e..131a51ad7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer951.java
+++ b/jpa/deferred/src/main/java/example/model/Customer951.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer951 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer952.java b/jpa/deferred/src/main/java/example/model/Customer952.java
index 9ebf1d72b..ea163fbe2 100644
--- a/jpa/deferred/src/main/java/example/model/Customer952.java
+++ b/jpa/deferred/src/main/java/example/model/Customer952.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer952 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer953.java b/jpa/deferred/src/main/java/example/model/Customer953.java
index b6457b204..d102e1262 100644
--- a/jpa/deferred/src/main/java/example/model/Customer953.java
+++ b/jpa/deferred/src/main/java/example/model/Customer953.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer953 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer954.java b/jpa/deferred/src/main/java/example/model/Customer954.java
index 847310b3b..1043f4bd3 100644
--- a/jpa/deferred/src/main/java/example/model/Customer954.java
+++ b/jpa/deferred/src/main/java/example/model/Customer954.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer954 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer955.java b/jpa/deferred/src/main/java/example/model/Customer955.java
index 372e1c29b..431bde67a 100644
--- a/jpa/deferred/src/main/java/example/model/Customer955.java
+++ b/jpa/deferred/src/main/java/example/model/Customer955.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer955 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer956.java b/jpa/deferred/src/main/java/example/model/Customer956.java
index aef491ec3..e9310bcc4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer956.java
+++ b/jpa/deferred/src/main/java/example/model/Customer956.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer956 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer957.java b/jpa/deferred/src/main/java/example/model/Customer957.java
index b7366a1d4..a12f015f0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer957.java
+++ b/jpa/deferred/src/main/java/example/model/Customer957.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer957 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer958.java b/jpa/deferred/src/main/java/example/model/Customer958.java
index 660a7d22a..31b69e754 100644
--- a/jpa/deferred/src/main/java/example/model/Customer958.java
+++ b/jpa/deferred/src/main/java/example/model/Customer958.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer958 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer959.java b/jpa/deferred/src/main/java/example/model/Customer959.java
index c4d95e99d..78b98fb46 100644
--- a/jpa/deferred/src/main/java/example/model/Customer959.java
+++ b/jpa/deferred/src/main/java/example/model/Customer959.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer959 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer96.java b/jpa/deferred/src/main/java/example/model/Customer96.java
index 1b6fc8aa9..e22b41e53 100644
--- a/jpa/deferred/src/main/java/example/model/Customer96.java
+++ b/jpa/deferred/src/main/java/example/model/Customer96.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer96 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer960.java b/jpa/deferred/src/main/java/example/model/Customer960.java
index 74e3eb944..736ef94e0 100644
--- a/jpa/deferred/src/main/java/example/model/Customer960.java
+++ b/jpa/deferred/src/main/java/example/model/Customer960.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer960 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer961.java b/jpa/deferred/src/main/java/example/model/Customer961.java
index e5183d810..5f46f7558 100644
--- a/jpa/deferred/src/main/java/example/model/Customer961.java
+++ b/jpa/deferred/src/main/java/example/model/Customer961.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer961 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer962.java b/jpa/deferred/src/main/java/example/model/Customer962.java
index e27ce028b..d30d52370 100644
--- a/jpa/deferred/src/main/java/example/model/Customer962.java
+++ b/jpa/deferred/src/main/java/example/model/Customer962.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer962 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer963.java b/jpa/deferred/src/main/java/example/model/Customer963.java
index 4a527d26f..9ba0b1133 100644
--- a/jpa/deferred/src/main/java/example/model/Customer963.java
+++ b/jpa/deferred/src/main/java/example/model/Customer963.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer963 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer964.java b/jpa/deferred/src/main/java/example/model/Customer964.java
index 38e1c2277..d2fe591fb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer964.java
+++ b/jpa/deferred/src/main/java/example/model/Customer964.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer964 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer965.java b/jpa/deferred/src/main/java/example/model/Customer965.java
index 26e5ed3af..ca42cbbfe 100644
--- a/jpa/deferred/src/main/java/example/model/Customer965.java
+++ b/jpa/deferred/src/main/java/example/model/Customer965.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer965 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer966.java b/jpa/deferred/src/main/java/example/model/Customer966.java
index 406aaeb93..06deb5411 100644
--- a/jpa/deferred/src/main/java/example/model/Customer966.java
+++ b/jpa/deferred/src/main/java/example/model/Customer966.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer966 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer967.java b/jpa/deferred/src/main/java/example/model/Customer967.java
index 445a6a79d..526459d16 100644
--- a/jpa/deferred/src/main/java/example/model/Customer967.java
+++ b/jpa/deferred/src/main/java/example/model/Customer967.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer967 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer968.java b/jpa/deferred/src/main/java/example/model/Customer968.java
index b9eccd696..93fbc06fb 100644
--- a/jpa/deferred/src/main/java/example/model/Customer968.java
+++ b/jpa/deferred/src/main/java/example/model/Customer968.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer968 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer969.java b/jpa/deferred/src/main/java/example/model/Customer969.java
index 7cbae4274..3a8e7560d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer969.java
+++ b/jpa/deferred/src/main/java/example/model/Customer969.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer969 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer97.java b/jpa/deferred/src/main/java/example/model/Customer97.java
index 3784a5d67..72a022a40 100644
--- a/jpa/deferred/src/main/java/example/model/Customer97.java
+++ b/jpa/deferred/src/main/java/example/model/Customer97.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer97 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer970.java b/jpa/deferred/src/main/java/example/model/Customer970.java
index db4bcffb3..9a506e51d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer970.java
+++ b/jpa/deferred/src/main/java/example/model/Customer970.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer970 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer971.java b/jpa/deferred/src/main/java/example/model/Customer971.java
index 7c75e13b6..52de26842 100644
--- a/jpa/deferred/src/main/java/example/model/Customer971.java
+++ b/jpa/deferred/src/main/java/example/model/Customer971.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer971 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer972.java b/jpa/deferred/src/main/java/example/model/Customer972.java
index 46df8fc1f..c60b42506 100644
--- a/jpa/deferred/src/main/java/example/model/Customer972.java
+++ b/jpa/deferred/src/main/java/example/model/Customer972.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer972 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer973.java b/jpa/deferred/src/main/java/example/model/Customer973.java
index 4dba60991..eaa3105b7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer973.java
+++ b/jpa/deferred/src/main/java/example/model/Customer973.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer973 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer974.java b/jpa/deferred/src/main/java/example/model/Customer974.java
index a86afea23..ca29934e7 100644
--- a/jpa/deferred/src/main/java/example/model/Customer974.java
+++ b/jpa/deferred/src/main/java/example/model/Customer974.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer974 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer975.java b/jpa/deferred/src/main/java/example/model/Customer975.java
index 77f3da46d..e15cd7cef 100644
--- a/jpa/deferred/src/main/java/example/model/Customer975.java
+++ b/jpa/deferred/src/main/java/example/model/Customer975.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer975 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer976.java b/jpa/deferred/src/main/java/example/model/Customer976.java
index 1e9ef225e..243af36ef 100644
--- a/jpa/deferred/src/main/java/example/model/Customer976.java
+++ b/jpa/deferred/src/main/java/example/model/Customer976.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer976 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer977.java b/jpa/deferred/src/main/java/example/model/Customer977.java
index c702d0aae..683026364 100644
--- a/jpa/deferred/src/main/java/example/model/Customer977.java
+++ b/jpa/deferred/src/main/java/example/model/Customer977.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer977 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer978.java b/jpa/deferred/src/main/java/example/model/Customer978.java
index 5e874a1fb..673c50b94 100644
--- a/jpa/deferred/src/main/java/example/model/Customer978.java
+++ b/jpa/deferred/src/main/java/example/model/Customer978.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer978 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer979.java b/jpa/deferred/src/main/java/example/model/Customer979.java
index 2a426637e..85c6ec480 100644
--- a/jpa/deferred/src/main/java/example/model/Customer979.java
+++ b/jpa/deferred/src/main/java/example/model/Customer979.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer979 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer98.java b/jpa/deferred/src/main/java/example/model/Customer98.java
index 95cf0e178..09918cc6d 100644
--- a/jpa/deferred/src/main/java/example/model/Customer98.java
+++ b/jpa/deferred/src/main/java/example/model/Customer98.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer98 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer980.java b/jpa/deferred/src/main/java/example/model/Customer980.java
index 9a7fdca71..55a863c09 100644
--- a/jpa/deferred/src/main/java/example/model/Customer980.java
+++ b/jpa/deferred/src/main/java/example/model/Customer980.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer980 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer981.java b/jpa/deferred/src/main/java/example/model/Customer981.java
index 6f239f944..ad1a3ae7c 100644
--- a/jpa/deferred/src/main/java/example/model/Customer981.java
+++ b/jpa/deferred/src/main/java/example/model/Customer981.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer981 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer982.java b/jpa/deferred/src/main/java/example/model/Customer982.java
index d6d0cbe4f..a176f7751 100644
--- a/jpa/deferred/src/main/java/example/model/Customer982.java
+++ b/jpa/deferred/src/main/java/example/model/Customer982.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer982 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer983.java b/jpa/deferred/src/main/java/example/model/Customer983.java
index 3d35caca6..6020ae0d5 100644
--- a/jpa/deferred/src/main/java/example/model/Customer983.java
+++ b/jpa/deferred/src/main/java/example/model/Customer983.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer983 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer984.java b/jpa/deferred/src/main/java/example/model/Customer984.java
index 812f179a0..06acbafe4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer984.java
+++ b/jpa/deferred/src/main/java/example/model/Customer984.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer984 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer985.java b/jpa/deferred/src/main/java/example/model/Customer985.java
index 1561c8e4c..64ee4b1a6 100644
--- a/jpa/deferred/src/main/java/example/model/Customer985.java
+++ b/jpa/deferred/src/main/java/example/model/Customer985.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer985 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer986.java b/jpa/deferred/src/main/java/example/model/Customer986.java
index 8381ccafb..166de9b99 100644
--- a/jpa/deferred/src/main/java/example/model/Customer986.java
+++ b/jpa/deferred/src/main/java/example/model/Customer986.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer986 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer987.java b/jpa/deferred/src/main/java/example/model/Customer987.java
index 058099b51..41a134b00 100644
--- a/jpa/deferred/src/main/java/example/model/Customer987.java
+++ b/jpa/deferred/src/main/java/example/model/Customer987.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer987 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer988.java b/jpa/deferred/src/main/java/example/model/Customer988.java
index 3eb3e9947..dff326388 100644
--- a/jpa/deferred/src/main/java/example/model/Customer988.java
+++ b/jpa/deferred/src/main/java/example/model/Customer988.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer988 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer989.java b/jpa/deferred/src/main/java/example/model/Customer989.java
index 20085c167..2c05d6417 100644
--- a/jpa/deferred/src/main/java/example/model/Customer989.java
+++ b/jpa/deferred/src/main/java/example/model/Customer989.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer989 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer99.java b/jpa/deferred/src/main/java/example/model/Customer99.java
index 0e88c83aa..1ab4d8c34 100644
--- a/jpa/deferred/src/main/java/example/model/Customer99.java
+++ b/jpa/deferred/src/main/java/example/model/Customer99.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer99 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer990.java b/jpa/deferred/src/main/java/example/model/Customer990.java
index 039cf3ad4..c76987931 100644
--- a/jpa/deferred/src/main/java/example/model/Customer990.java
+++ b/jpa/deferred/src/main/java/example/model/Customer990.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer990 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer991.java b/jpa/deferred/src/main/java/example/model/Customer991.java
index eb9bd65e7..40136e572 100644
--- a/jpa/deferred/src/main/java/example/model/Customer991.java
+++ b/jpa/deferred/src/main/java/example/model/Customer991.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer991 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer992.java b/jpa/deferred/src/main/java/example/model/Customer992.java
index 7e5dae3da..0596fba78 100644
--- a/jpa/deferred/src/main/java/example/model/Customer992.java
+++ b/jpa/deferred/src/main/java/example/model/Customer992.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer992 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer993.java b/jpa/deferred/src/main/java/example/model/Customer993.java
index 751b58dfc..e02ca58c4 100644
--- a/jpa/deferred/src/main/java/example/model/Customer993.java
+++ b/jpa/deferred/src/main/java/example/model/Customer993.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer993 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer994.java b/jpa/deferred/src/main/java/example/model/Customer994.java
index 3be86f170..4567221a1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer994.java
+++ b/jpa/deferred/src/main/java/example/model/Customer994.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer994 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer995.java b/jpa/deferred/src/main/java/example/model/Customer995.java
index f644d2b6e..adecdcc8b 100644
--- a/jpa/deferred/src/main/java/example/model/Customer995.java
+++ b/jpa/deferred/src/main/java/example/model/Customer995.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer995 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer996.java b/jpa/deferred/src/main/java/example/model/Customer996.java
index 74ef358b5..9013f9271 100644
--- a/jpa/deferred/src/main/java/example/model/Customer996.java
+++ b/jpa/deferred/src/main/java/example/model/Customer996.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer996 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer997.java b/jpa/deferred/src/main/java/example/model/Customer997.java
index 6020e1ba2..9d812a054 100644
--- a/jpa/deferred/src/main/java/example/model/Customer997.java
+++ b/jpa/deferred/src/main/java/example/model/Customer997.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer997 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer998.java b/jpa/deferred/src/main/java/example/model/Customer998.java
index 79f6dd6bb..64fd93acf 100644
--- a/jpa/deferred/src/main/java/example/model/Customer998.java
+++ b/jpa/deferred/src/main/java/example/model/Customer998.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer998 {
diff --git a/jpa/deferred/src/main/java/example/model/Customer999.java b/jpa/deferred/src/main/java/example/model/Customer999.java
index a075ab8a4..2bed5e7d1 100644
--- a/jpa/deferred/src/main/java/example/model/Customer999.java
+++ b/jpa/deferred/src/main/java/example/model/Customer999.java
@@ -1,9 +1,9 @@
package example.model;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Customer999 {
diff --git a/jpa/eclipselink/pom.xml b/jpa/eclipselink/pom.xml
index d609df510..2b8072c29 100644
--- a/jpa/eclipselink/pom.xml
+++ b/jpa/eclipselink/pom.xml
@@ -7,7 +7,7 @@
org.springframework.data.examplesspring-data-jpa-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
diff --git a/jpa/eclipselink/src/main/java/example/springdata/jpa/eclipselink/Customer.java b/jpa/eclipselink/src/main/java/example/springdata/jpa/eclipselink/Customer.java
index 7c24b76b4..416e8e242 100644
--- a/jpa/eclipselink/src/main/java/example/springdata/jpa/eclipselink/Customer.java
+++ b/jpa/eclipselink/src/main/java/example/springdata/jpa/eclipselink/Customer.java
@@ -21,9 +21,9 @@
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
/**
* @author Oliver Gierke
diff --git a/jpa/eclipselink/src/test/java/example/springdata/jpa/eclipselink/CustomerRepositoryIntegrationTests.java b/jpa/eclipselink/src/test/java/example/springdata/jpa/eclipselink/CustomerRepositoryIntegrationTests.java
index 596c9375c..2df4406b6 100644
--- a/jpa/eclipselink/src/test/java/example/springdata/jpa/eclipselink/CustomerRepositoryIntegrationTests.java
+++ b/jpa/eclipselink/src/test/java/example/springdata/jpa/eclipselink/CustomerRepositoryIntegrationTests.java
@@ -17,10 +17,9 @@
import static org.assertj.core.api.Assertions.*;
-import javax.transaction.Transactional;
+import jakarta.transaction.Transactional;
import org.junit.jupiter.api.Test;
-
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
diff --git a/jpa/envers/pom.xml b/jpa/envers/pom.xml
index 63429ee3c..928a2f84d 100644
--- a/jpa/envers/pom.xml
+++ b/jpa/envers/pom.xml
@@ -6,7 +6,7 @@
org.springframework.data.examplesspring-data-jpa-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-jpa-envers
diff --git a/jpa/envers/src/main/java/example/springdata/jpa/envers/Person.java b/jpa/envers/src/main/java/example/springdata/jpa/envers/Person.java
index 511d418a9..e3e7b0843 100644
--- a/jpa/envers/src/main/java/example/springdata/jpa/envers/Person.java
+++ b/jpa/envers/src/main/java/example/springdata/jpa/envers/Person.java
@@ -15,10 +15,10 @@
*/
package example.springdata.jpa.envers;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.Version;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.Version;
import org.hibernate.envers.Audited;
diff --git a/jpa/example/pom.xml b/jpa/example/pom.xml
index 3659dd29f..19ae3f03a 100644
--- a/jpa/example/pom.xml
+++ b/jpa/example/pom.xml
@@ -7,7 +7,7 @@
org.springframework.data.examplesspring-data-jpa-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
diff --git a/jpa/example/src/main/java/example/springdata/jpa/auditing/AuditableUser.java b/jpa/example/src/main/java/example/springdata/jpa/auditing/AuditableUser.java
index 044f4c343..53289f3e0 100644
--- a/jpa/example/src/main/java/example/springdata/jpa/auditing/AuditableUser.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/auditing/AuditableUser.java
@@ -19,11 +19,11 @@
import java.time.LocalDateTime;
-import javax.persistence.Entity;
-import javax.persistence.EntityListeners;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.ManyToOne;
+import jakarta.persistence.Entity;
+import jakarta.persistence.EntityListeners;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.ManyToOne;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate;
@@ -34,7 +34,7 @@
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
/**
- * User domain class that uses auditing functionality of Spring Data that can either be aquired implementing
+ * User domain class that uses auditing functionality of Spring Data that can either be acquired implementing
* {@link Auditable} or extend {@link AbstractAuditable}.
*
* @author Oliver Gierke
diff --git a/jpa/example/src/main/java/example/springdata/jpa/caching/User.java b/jpa/example/src/main/java/example/springdata/jpa/caching/User.java
index 1e6e85469..2c4a08553 100644
--- a/jpa/example/src/main/java/example/springdata/jpa/caching/User.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/caching/User.java
@@ -15,9 +15,9 @@
*/
package example.springdata.jpa.caching;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.NamedQuery;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.NamedQuery;
import org.springframework.data.jpa.domain.AbstractPersistable;
diff --git a/jpa/example/src/main/java/example/springdata/jpa/compositions/ContactRepositoryImpl.java b/jpa/example/src/main/java/example/springdata/jpa/compositions/ContactRepositoryImpl.java
index 6bfc9af11..4b2687ec6 100644
--- a/jpa/example/src/main/java/example/springdata/jpa/compositions/ContactRepositoryImpl.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/compositions/ContactRepositoryImpl.java
@@ -20,7 +20,7 @@
import java.util.List;
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
/**
* {@link ContactRepository} fragment implementation.
diff --git a/jpa/example/src/main/java/example/springdata/jpa/compositions/EmployeeRepositoryImpl.java b/jpa/example/src/main/java/example/springdata/jpa/compositions/EmployeeRepositoryImpl.java
index d690dae73..fa66fd7d6 100644
--- a/jpa/example/src/main/java/example/springdata/jpa/compositions/EmployeeRepositoryImpl.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/compositions/EmployeeRepositoryImpl.java
@@ -20,7 +20,7 @@
import java.util.List;
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
/**
* {@link EmployeeRepository} fragment implementation.
diff --git a/jpa/example/src/main/java/example/springdata/jpa/compositions/FlushOnSaveRepositoryImpl.java b/jpa/example/src/main/java/example/springdata/jpa/compositions/FlushOnSaveRepositoryImpl.java
index a5ec6182f..9670d57a8 100644
--- a/jpa/example/src/main/java/example/springdata/jpa/compositions/FlushOnSaveRepositoryImpl.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/compositions/FlushOnSaveRepositoryImpl.java
@@ -15,10 +15,11 @@
*/
package example.springdata.jpa.compositions;
+import jakarta.persistence.PersistenceUnitUtil;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
import org.springframework.data.jpa.domain.AbstractPersistable;
import org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformation;
@@ -87,9 +88,9 @@ private EntityInformation getEntityInformation(S entity
var userClass = ClassUtils.getUserClass(entity.getClass());
if (entity instanceof AbstractPersistable>) {
- return new JpaPersistableEntityInformation(userClass, entityManager.getMetamodel());
+ return new JpaPersistableEntityInformation(userClass, entityManager.getMetamodel(),entityManager.getEntityManagerFactory().getPersistenceUnitUtil() );
}
- return new JpaMetamodelEntityInformation(userClass, entityManager.getMetamodel());
+ return new JpaMetamodelEntityInformation(userClass, entityManager.getMetamodel(), entityManager.getEntityManagerFactory().getPersistenceUnitUtil());
}
}
diff --git a/jpa/example/src/main/java/example/springdata/jpa/compositions/User.java b/jpa/example/src/main/java/example/springdata/jpa/compositions/User.java
index 692c21f7b..5d22215a9 100644
--- a/jpa/example/src/main/java/example/springdata/jpa/compositions/User.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/compositions/User.java
@@ -18,9 +18,9 @@
import lombok.Getter;
import lombok.Setter;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.ManyToOne;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.ManyToOne;
import org.springframework.data.jpa.domain.AbstractPersistable;
diff --git a/jpa/example/src/main/java/example/springdata/jpa/custom/User.java b/jpa/example/src/main/java/example/springdata/jpa/custom/User.java
index 3e763dac3..c46084063 100644
--- a/jpa/example/src/main/java/example/springdata/jpa/custom/User.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/custom/User.java
@@ -15,9 +15,9 @@
*/
package example.springdata.jpa.custom;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.NamedQuery;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.NamedQuery;
import org.springframework.data.jpa.domain.AbstractPersistable;
diff --git a/jpa/example/src/main/java/example/springdata/jpa/custom/UserRepository.java b/jpa/example/src/main/java/example/springdata/jpa/custom/UserRepository.java
index 1d68c8f63..b2c1ab350 100644
--- a/jpa/example/src/main/java/example/springdata/jpa/custom/UserRepository.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/custom/UserRepository.java
@@ -32,7 +32,7 @@ public interface UserRepository extends CrudRepository, UserReposito
/**
* Find the user with the given username. This method will be translated into a query using the
- * {@link javax.persistence.NamedQuery} annotation at the {@link User} class.
+ * {@link jakarta.persistence.NamedQuery} annotation at the {@link User} class.
*
* @param username
* @return
diff --git a/jpa/example/src/main/java/example/springdata/jpa/custom/UserRepositoryImpl.java b/jpa/example/src/main/java/example/springdata/jpa/custom/UserRepositoryImpl.java
index b0af8db0d..e1e3b9003 100644
--- a/jpa/example/src/main/java/example/springdata/jpa/custom/UserRepositoryImpl.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/custom/UserRepositoryImpl.java
@@ -17,12 +17,12 @@
import java.util.List;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.PersistenceContext;
/**
* Implementation fo the custom repository functionality declared in {@link UserRepositoryCustom} based on JPA. To use
- * this implementation in combination with Spring Data JPA you can either register it programatically:
+ * this implementation in combination with Spring Data JPA you can either register it programmatically:
*
*
* EntityManager em = ... // Obtain EntityManager
diff --git a/jpa/example/src/main/java/example/springdata/jpa/custom/UserRepositoryImplJdbc.java b/jpa/example/src/main/java/example/springdata/jpa/custom/UserRepositoryImplJdbc.java
index 911979d14..1e156e2d6 100644
--- a/jpa/example/src/main/java/example/springdata/jpa/custom/UserRepositoryImplJdbc.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/custom/UserRepositoryImplJdbc.java
@@ -28,7 +28,7 @@
import org.springframework.stereotype.Component;
/**
- * Class with the implementation of the custom repository code. Uses JDBC in this case. For basic programatic setup see
+ * Class with the implementation of the custom repository code. Uses JDBC in this case. For basic programmatic setup see
* {@link UserRepositoryImpl} for examples.
*
* As you need to hand the instance a {@link javax.sql.DataSource} or
diff --git a/jpa/example/src/main/java/example/springdata/jpa/customall/ExtendedJpaRepository.java b/jpa/example/src/main/java/example/springdata/jpa/customall/ExtendedJpaRepository.java
index 5d012cee6..2648a8547 100644
--- a/jpa/example/src/main/java/example/springdata/jpa/customall/ExtendedJpaRepository.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/customall/ExtendedJpaRepository.java
@@ -15,7 +15,7 @@
*/
package example.springdata.jpa.customall;
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
import org.springframework.data.jpa.repository.support.JpaEntityInformation;
import org.springframework.data.jpa.repository.support.SimpleJpaRepository;
diff --git a/jpa/example/src/main/java/example/springdata/jpa/customall/User.java b/jpa/example/src/main/java/example/springdata/jpa/customall/User.java
index bb6cef977..3ed8697fe 100644
--- a/jpa/example/src/main/java/example/springdata/jpa/customall/User.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/customall/User.java
@@ -15,9 +15,9 @@
*/
package example.springdata.jpa.customall;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
/**
* Sample user class.
diff --git a/geode/transactions/src/main/java/example/springdata/geode/client/transactions/EmailAddress.java b/jpa/example/src/main/java/example/springdata/jpa/pagination/Author.java
old mode 100755
new mode 100644
similarity index 63%
rename from geode/transactions/src/main/java/example/springdata/geode/client/transactions/EmailAddress.java
rename to jpa/example/src/main/java/example/springdata/jpa/pagination/Author.java
index 6b565073d..a6d92c174
--- a/geode/transactions/src/main/java/example/springdata/geode/client/transactions/EmailAddress.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/pagination/Author.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2023 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,22 +13,23 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.geode.client.transactions;
+package example.springdata.jpa.pagination;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
import lombok.Data;
/**
- * Value object to represent email addresses.
- *
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
+ * @author Christoph Strobl
*/
@Data
-public class EmailAddress {
-
- private String value;
+@Entity
+@Table(name = "authors")
+public class Author {
- public EmailAddress(String value) {
- this.value = value;
- }
+ @Id
+ private String id;
+ private String firstName;
+ private String lastName;
}
diff --git a/geode/queries/src/main/java/example/springdata/geode/client/queries/EmailAddress.java b/jpa/example/src/main/java/example/springdata/jpa/pagination/Book.java
old mode 100755
new mode 100644
similarity index 56%
rename from geode/queries/src/main/java/example/springdata/geode/client/queries/EmailAddress.java
rename to jpa/example/src/main/java/example/springdata/jpa/pagination/Book.java
index e7d803743..9d6906d74
--- a/geode/queries/src/main/java/example/springdata/geode/client/queries/EmailAddress.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/pagination/Book.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2023 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,25 +13,28 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.geode.client.queries;
+package example.springdata.jpa.pagination;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
import lombok.Data;
-import java.io.Serializable;
+import java.util.Date;
/**
- * Value object to represent email addresses.
- *
- * @author Udo Kohlmeyer
- * @author Patrick Johnson
+ * @author Christoph Strobl
*/
@Data
-public class EmailAddress implements Serializable {
-
- private String value;
+@Entity
+@Table(name = "books")
+public class Book {
- public EmailAddress(String value) {
+ @Id private String id;
+ private String title;
+ private String isbn10;
+ private Date publicationDate;
- this.value = value;
- }
+ @ManyToOne Author author;
}
diff --git a/jpa/example/src/main/java/example/springdata/jpa/pagination/BookRepository.java b/jpa/example/src/main/java/example/springdata/jpa/pagination/BookRepository.java
new file mode 100644
index 000000000..67df6d2e0
--- /dev/null
+++ b/jpa/example/src/main/java/example/springdata/jpa/pagination/BookRepository.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2023 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jpa.pagination;
+
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.ScrollPosition;
+import org.springframework.data.domain.Slice;
+import org.springframework.data.domain.Window;
+import org.springframework.data.repository.ListCrudRepository;
+
+/**
+ * @author Christoph Strobl
+ */
+public interface BookRepository extends ListCrudRepository {
+
+ /**
+ * Uses an {@literal offset} based pagination that first sorts the entries by their {@link Book#getPublicationDate()
+ * publication_date} and then limits the result by dropping the number of rows specified in the
+ * {@link Pageable#getOffset() offset} clause. To retrieve {@link Page#getTotalElements()} an additional count query
+ * is executed.
+ *
+ * @param title
+ * @param pageable
+ * @return
+ */
+ Page findByTitleContainsOrderByPublicationDate(String title, Pageable pageable);
+
+ /**
+ * Uses an {@literal offset} based slicing that first sorts the entries by their {@link Book#getPublicationDate()
+ * publication_date} and then limits the result by dropping the number of rows specified in the
+ * {@link Pageable#getOffset() offset} clause.
+ *
+ * @param title
+ * @param pageable
+ * @return
+ */
+ Slice findBooksByTitleContainsOrderByPublicationDate(String title, Pageable pageable);
+
+ /**
+ * Depending on the provided {@link ScrollPosition} either {@link org.springframework.data.domain.OffsetScrollPosition
+ * offset} or {@link org.springframework.data.domain.KeysetScrollPosition keyset} scrolling is possible. Scrolling
+ * through results requires a stable {@link org.springframework.data.domain.Sort} which is different from what
+ * {@link Pageable#getSort()} offers. The {@literal limit} is defined via the {@literal Top} keyword.
+ *
+ * @param title
+ * @param scrollPosition
+ * @return
+ */
+ Window findTop2ByTitleContainsOrderByPublicationDate(String title, ScrollPosition scrollPosition);
+}
diff --git a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/server/FunctionServer.java b/jpa/example/src/main/java/example/springdata/jpa/pagination/PagingRepoConfig.java
old mode 100755
new mode 100644
similarity index 60%
rename from geode/function-invocation/src/main/java/example/springdata/geode/client/function/server/FunctionServer.java
rename to jpa/example/src/main/java/example/springdata/jpa/pagination/PagingRepoConfig.java
index 422ec296e..779303309
--- a/geode/function-invocation/src/main/java/example/springdata/geode/client/function/server/FunctionServer.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/pagination/PagingRepoConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2023 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,19 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.geode.client.function.server;
+package example.springdata.jpa.pagination;
-import org.springframework.boot.WebApplicationType;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
/**
- * @author Patrick Johnson
+ * @author Christoph Strobl
*/
@SpringBootApplication
-public class FunctionServer {
-
- public static void main(String[] args) {
- new SpringApplicationBuilder(FunctionServer.class).web(WebApplicationType.NONE).build().run(args);
- }
-}
+@EnableJpaRepositories(basePackageClasses = BookRepository.class)
+class PagingRepoConfig {}
diff --git a/jpa/example/src/main/java/example/springdata/jpa/projections/Customer.java b/jpa/example/src/main/java/example/springdata/jpa/projections/Customer.java
index 63dca0000..a74bba793 100644
--- a/jpa/example/src/main/java/example/springdata/jpa/projections/Customer.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/projections/Customer.java
@@ -18,9 +18,9 @@
import lombok.Data;
import lombok.RequiredArgsConstructor;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
/**
* @author Oliver Gierke
diff --git a/jpa/example/src/main/java/example/springdata/jpa/simple/SimpleConfiguration.java b/jpa/example/src/main/java/example/springdata/jpa/simple/SimpleConfiguration.java
index 5b3c378ac..f509ade1e 100644
--- a/jpa/example/src/main/java/example/springdata/jpa/simple/SimpleConfiguration.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/simple/SimpleConfiguration.java
@@ -16,9 +16,11 @@
package example.springdata.jpa.simple;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.scheduling.annotation.EnableAsync;
/**
* @author Oliver Gierke
*/
@SpringBootApplication
+@EnableAsync
class SimpleConfiguration {}
diff --git a/jpa/example/src/main/java/example/springdata/jpa/simple/SimpleUserRepository.java b/jpa/example/src/main/java/example/springdata/jpa/simple/SimpleUserRepository.java
index 3f666faa3..9f5c77a85 100644
--- a/jpa/example/src/main/java/example/springdata/jpa/simple/SimpleUserRepository.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/simple/SimpleUserRepository.java
@@ -20,26 +20,27 @@
import java.util.concurrent.CompletableFuture;
import java.util.stream.Stream;
+import org.springframework.data.domain.Limit;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Slice;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.repository.Query;
-import org.springframework.data.repository.CrudRepository;
+import org.springframework.data.repository.ListCrudRepository;
import org.springframework.scheduling.annotation.Async;
/**
- * Simple repository interface for {@link User} instances. The interface is used to declare so called query methods,
- * methods to retrieve single entities or collections of them.
+ * Simple repository interface for {@link User} instances. The interface is used to declare the so-called query methods,
+ * i.e. methods to retrieve single entities or collections of them.
*
* @author Oliver Gierke
* @author Thomas Darimont
* @author Christoph Strobl
*/
-public interface SimpleUserRepository extends CrudRepository {
+public interface SimpleUserRepository extends ListCrudRepository {
/**
* Find the user with the given username. This method will be translated into a query using the
- * {@link javax.persistence.NamedQuery} annotation at the {@link User} class.
+ * {@link jakarta.persistence.NamedQuery} annotation at the {@link User} class.
*
* @param username
* @return
@@ -63,6 +64,17 @@ public interface SimpleUserRepository extends CrudRepository {
*/
List findByLastname(String lastname);
+ /**
+ * Find at most the number of users defined via maxResults with the given lastname.
+ * This method will be translated into a query by constructing it directly from the method name as there is no other
+ * query declared.
+ *
+ * @param lastname
+ * @param maxResults the maximum number of results returned.
+ * @return
+ */
+ List findByLastname(String lastname, Limit maxResults);
+
/**
* Returns all users with the given firstname. This method will be translated into a query using the one declared in
* the {@link Query} annotation declared one.
@@ -73,6 +85,17 @@ public interface SimpleUserRepository extends CrudRepository {
@Query("select u from User u where u.firstname = :firstname")
List findByFirstname(String firstname);
+ /**
+ * Returns at most the number of users defined via {@link Limit} with the given firstname. This method will be
+ * translated into a query using the one declared in the {@link Query} annotation declared one.
+ *
+ * @param firstname
+ * @param maxResults the maximum number of results returned.
+ * @return
+ */
+ @Query("select u from User u where u.firstname = :firstname")
+ List findByFirstname(String firstname, Limit maxResults);
+
/**
* Returns all users with the given name as first- or lastname. This makes the query to method relation much more
* refactoring-safe as the order of the method parameters is completely irrelevant.
diff --git a/jpa/example/src/main/java/example/springdata/jpa/simple/User.java b/jpa/example/src/main/java/example/springdata/jpa/simple/User.java
index 6b089352e..32d8d9be7 100644
--- a/jpa/example/src/main/java/example/springdata/jpa/simple/User.java
+++ b/jpa/example/src/main/java/example/springdata/jpa/simple/User.java
@@ -15,9 +15,9 @@
*/
package example.springdata.jpa.simple;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.NamedQuery;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.NamedQuery;
import org.springframework.data.jpa.domain.AbstractPersistable;
diff --git a/jpa/example/src/test/java/example/springdata/jpa/basics/BasicFactorySetup.java b/jpa/example/src/test/java/example/springdata/jpa/basics/BasicFactorySetup.java
index 210af8cbb..9079c0134 100644
--- a/jpa/example/src/test/java/example/springdata/jpa/basics/BasicFactorySetup.java
+++ b/jpa/example/src/test/java/example/springdata/jpa/basics/BasicFactorySetup.java
@@ -20,9 +20,9 @@
import example.springdata.jpa.simple.SimpleUserRepository;
import example.springdata.jpa.simple.User;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.Persistence;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.EntityManagerFactory;
+import jakarta.persistence.Persistence;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
diff --git a/jpa/example/src/test/java/example/springdata/jpa/basics/BasicSample.java b/jpa/example/src/test/java/example/springdata/jpa/basics/BasicSample.java
index 151b8765a..2f3622cc7 100644
--- a/jpa/example/src/test/java/example/springdata/jpa/basics/BasicSample.java
+++ b/jpa/example/src/test/java/example/springdata/jpa/basics/BasicSample.java
@@ -3,9 +3,9 @@
*
* Licenseimport static org.junit.Assert.*;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.Persistence;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.EntityManagerFactory;
+import jakarta.persistence.Persistence;
import org.junit.After;
import org.junit.Before;
@@ -23,8 +23,8 @@
import example.springdata.jpa.simple.User;
-import javax.persistence.EntityManager;
-import javax.persistence.Persistence;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.Persistence;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
diff --git a/jpa/example/src/test/java/example/springdata/jpa/customall/UserRepositoryCustomizationTests.java b/jpa/example/src/test/java/example/springdata/jpa/customall/UserRepositoryCustomizationTests.java
index 0ed3a5542..00e0f95b6 100644
--- a/jpa/example/src/test/java/example/springdata/jpa/customall/UserRepositoryCustomizationTests.java
+++ b/jpa/example/src/test/java/example/springdata/jpa/customall/UserRepositoryCustomizationTests.java
@@ -24,7 +24,7 @@
import org.springframework.transaction.annotation.Transactional;
/**
- * Intergration test showing the usage of a custom method implemented for all repositories
+ * Integration test showing the usage of a custom method implemented for all repositories
*
* @author Oliver Gierke
* @author Divya Srivastava
diff --git a/jpa/example/src/test/java/example/springdata/jpa/pagination/PaginationTests.java b/jpa/example/src/test/java/example/springdata/jpa/pagination/PaginationTests.java
new file mode 100644
index 000000000..017cbeb84
--- /dev/null
+++ b/jpa/example/src/test/java/example/springdata/jpa/pagination/PaginationTests.java
@@ -0,0 +1,209 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jpa.pagination;
+
+import static org.assertj.core.api.Assertions.*;
+
+import jakarta.persistence.EntityManager;
+
+import java.util.List;
+import java.util.Random;
+import java.util.UUID;
+import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
+import java.util.stream.IntStream;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.domain.KeysetScrollPosition;
+import org.springframework.data.domain.OffsetScrollPosition;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.ScrollPosition;
+import org.springframework.data.domain.Slice;
+import org.springframework.data.domain.Window;
+import org.springframework.data.support.WindowIterator;
+import org.springframework.data.util.Streamable;
+
+import com.github.javafaker.Faker;
+
+/**
+ * Show different types of paging styles using {@link Page}, {@link Slice} and {@link Window}.
+ *
+ * @author Christoph Strobl
+ * @author Mark Paluch
+ */
+@DataJpaTest
+class PaginationTests {
+
+ @Configuration
+ @EnableAutoConfiguration
+ static class Config {
+
+ }
+
+ @Autowired BookRepository books;
+
+ @BeforeEach
+ void setUp() {
+
+ Faker faker = new Faker();
+
+ // create some sample data
+ List authorList = createAuthors(faker);
+ createBooks(faker, authorList);
+ }
+
+ /**
+ * Page through the results using an offset/limit approach where the server skips over the number of results specified
+ * via {@link Pageable#getOffset()}. The {@link Page} return type will run an additional {@literal count} query to
+ * read the total number of matching rows on each request.
+ */
+ @Test
+ void pageThroughResultsWithSkipAndLimit() {
+
+ Page page;
+ Pageable pageRequest = PageRequest.of(0, 2);
+
+ do {
+
+ page = books.findByTitleContainsOrderByPublicationDate("the", pageRequest);
+ assertThat(page.getContent().size()).isGreaterThanOrEqualTo(1).isLessThanOrEqualTo(2);
+
+ pageRequest = page.nextPageable();
+ } while (page.hasNext());
+ }
+
+ /**
+ * Run through the results using an offset/limit approach where the server skips over the number of results specified
+ * via {@link Pageable#getOffset()}. No additional {@literal count} query to read the total number of matching rows is
+ * issued. Still {@link Slice} requests, but does not emit, one row more than specified via {@link Page#getSize()} to
+ * feed {@link Slice#hasNext()}
+ */
+ @Test
+ void sliceThroughResultsWithSkipAndLimit() {
+
+ Slice slice;
+ Pageable pageRequest = PageRequest.of(0, 2);
+
+ do {
+
+ slice = books.findBooksByTitleContainsOrderByPublicationDate("the", pageRequest);
+ assertThat(slice.getContent().size()).isGreaterThanOrEqualTo(1).isLessThanOrEqualTo(2);
+
+ pageRequest = slice.nextPageable();
+ } while (slice.hasNext());
+ }
+
+ /**
+ * Scroll through the results using an offset/limit approach where the server skips over the number of results
+ * specified via {@link OffsetScrollPosition#getOffset()}.
+ *
+ * This approach is similar to the {@link #sliceThroughResultsWithSkipAndLimit() slicing one}.
+ */
+ @Test
+ void scrollThroughResultsWithSkipAndLimit() {
+
+ Window window;
+ ScrollPosition scrollPosition = ScrollPosition.offset();
+
+ do {
+
+ window = books.findTop2ByTitleContainsOrderByPublicationDate("the", scrollPosition);
+ assertThat(window.getContent().size()).isGreaterThanOrEqualTo(1).isLessThanOrEqualTo(2);
+
+ scrollPosition = window.positionAt(window.getContent().size() - 1);
+ } while (window.hasNext());
+ }
+
+ /**
+ * Scroll through the results using an offset/limit approach where the server skips over the number of results
+ * specified via {@link OffsetScrollPosition#getOffset()} using {@link WindowIterator}.
+ *
+ * This approach is similar to the {@link #sliceThroughResultsWithSkipAndLimit() slicing one}.
+ */
+ @Test
+ void scrollThroughResultsUsingWindowIteratorWithSkipAndLimit() {
+
+ WindowIterator iterator = WindowIterator
+ .of(scrollPosition -> books.findTop2ByTitleContainsOrderByPublicationDate("the-crazy-book-", scrollPosition))
+ .startingAt(ScrollPosition.offset());
+
+ List allBooks = Streamable.of(() -> iterator).stream().toList();
+ assertThat(allBooks).hasSize(50);
+ }
+
+ /**
+ * Scroll through the results using an index based approach where the {@link KeysetScrollPosition#getKeys() keyset}
+ * keeps track of already seen values to resume scrolling by altering the where clause to only return rows after the
+ * values contained in the keyset. Set {@literal logging.level.org.hibernate.SQL=debug} to show the modified query in
+ * the log.
+ */
+ @Test
+ void scrollThroughResultsWithKeyset() {
+
+ Window window;
+ ScrollPosition scrollPosition = ScrollPosition.keyset();
+ do {
+
+ window = books.findTop2ByTitleContainsOrderByPublicationDate("the", scrollPosition);
+ assertThat(window.getContent().size()).isGreaterThanOrEqualTo(1).isLessThanOrEqualTo(2);
+
+ scrollPosition = window.positionAt(window.getContent().size() - 1);
+ } while (window.hasNext());
+ }
+
+ // --> Test Data
+
+ @Autowired EntityManager em;
+
+ private List createAuthors(Faker faker) {
+
+ List authors = IntStream.range(0, 10).mapToObj(id -> {
+
+ Author author = new Author();
+ author.setId("author-%s".formatted(id));
+ author.setFirstName(faker.name().firstName());
+ author.setLastName(faker.name().lastName());
+
+ em.persist(author);
+ return author;
+ }).collect(Collectors.toList());
+ return authors;
+ }
+
+ private List createBooks(Faker faker, List authors) {
+
+ Random rand = new Random();
+ return IntStream.range(0, 100).mapToObj(id -> {
+
+ Book book = new Book();
+ book.setId("book-%03d".formatted(id));
+ book.setTitle((id % 2 == 0 ? "the-crazy-book-" : "") + faker.book().title());
+ book.setIsbn10(UUID.randomUUID().toString().substring(0, 10));
+ book.setPublicationDate(faker.date().past(5000, TimeUnit.DAYS));
+ book.setAuthor(authors.get(rand.nextInt(authors.size())));
+
+ em.persist(book);
+ return book;
+ }).collect(Collectors.toList());
+ }
+}
diff --git a/jpa/example/src/test/java/example/springdata/jpa/simple/SimpleUserRepositoryTests.java b/jpa/example/src/test/java/example/springdata/jpa/simple/SimpleUserRepositoryTests.java
index 3cf1b6d1e..5fcfdc773 100644
--- a/jpa/example/src/test/java/example/springdata/jpa/simple/SimpleUserRepositoryTests.java
+++ b/jpa/example/src/test/java/example/springdata/jpa/simple/SimpleUserRepositoryTests.java
@@ -27,6 +27,7 @@
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
+import java.util.stream.IntStream;
import java.util.stream.Stream;
import org.junit.jupiter.api.Assertions;
@@ -36,6 +37,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.dao.InvalidDataAccessApiUsageException;
+import org.springframework.data.domain.Limit;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.transaction.annotation.Propagation;
@@ -83,6 +85,22 @@ void findSavedUserByLastname() {
assertThat(repository.findByLastname("lastname")).contains(user);
}
+ @Test
+ void findLimitedNumberOfUsersViaDerivedQuery() {
+
+ IntStream.range(0, 10).forEach($ -> repository.save(new User(user.getFirstname(), user.getLastname())));
+
+ assertThat(repository.findByLastname("lastname", Limit.of(5))).hasSize(5);
+ }
+
+ @Test
+ void findLimitedNumberOfUsersViaAnnotatedQuery() {
+
+ IntStream.range(0, 10).forEach($ -> repository.save(new User(user.getFirstname(), user.getLastname())));
+
+ assertThat(repository.findByFirstname(user.getFirstname(), Limit.of(5))).hasSize(5);
+ }
+
@Test
void findByFirstnameOrLastname() {
@@ -154,7 +172,7 @@ void findFirst2ByOrderByLastnameAsc() {
var user2 = new User();
user2.setLastname("lastname-2");
- // we deliberatly save the items in reverse
+ // we deliberately save the items in reverse
repository.saveAll(Arrays.asList(user2, user1, user0));
var result = repository.findFirst2ByOrderByLastnameAsc();
@@ -253,7 +271,7 @@ void rejectsStreamExecutionIfNoSurroundingTransactionActive() {
/**
* Here we demonstrate the usage of {@link CompletableFuture} as a result wrapper for asynchronous repository query
* methods. Note, that we need to disable the surrounding transaction to be able to asynchronously read the written
- * data from from another thread within the same test method.
+ * data from another thread within the same test method.
*/
@Test
@Transactional(propagation = Propagation.NOT_SUPPORTED)
diff --git a/jpa/example/src/test/java/example/springdata/jpa/simple/VirtualThreadsTests.java b/jpa/example/src/test/java/example/springdata/jpa/simple/VirtualThreadsTests.java
new file mode 100644
index 000000000..915d2131d
--- /dev/null
+++ b/jpa/example/src/test/java/example/springdata/jpa/simple/VirtualThreadsTests.java
@@ -0,0 +1,114 @@
+/*
+ * Copyright 2023 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jpa.simple;
+
+import static org.assertj.core.api.Assertions.*;
+
+import java.util.List;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.EnabledForJreRange;
+import org.junit.jupiter.api.condition.JRE;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.core.task.SimpleAsyncTaskExecutor;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * Integration test showing the basic usage of {@link SimpleUserRepository} with Virtual Threads.
+ *
+ * @author Mark Paluch
+ */
+@Transactional
+@SpringBootTest(properties = "spring.threads.virtual.enabled=true")
+@EnabledForJreRange(min = JRE.JAVA_21)
+class VirtualThreadsTests {
+
+ @Autowired SimpleUserRepository repository;
+ private User user;
+
+ @BeforeEach
+ void setUp() {
+
+ user = new User();
+ user.setUsername("foobar");
+ user.setFirstname("firstname");
+ user.setLastname("lastname");
+ }
+
+ /**
+ * This repository invocation runs on a dedicated virtual thread.
+ */
+ @Test
+ @Transactional(propagation = Propagation.NOT_SUPPORTED)
+ void supportsVirtualThreads() throws Exception {
+
+ BlockingQueue thread = new LinkedBlockingQueue<>();
+ repository.save(new User("Customer1", "Foo"));
+ repository.save(new User("Customer2", "Bar"));
+
+ try (SimpleAsyncTaskExecutor executor = new SimpleAsyncTaskExecutor()) {
+ executor.setVirtualThreads(true);
+
+ var future = executor.submit(() -> {
+ thread.add(Thread.currentThread().toString());
+ return repository.findAll();
+ });
+
+ List users = future.get();
+ String threadName = thread.poll(1, TimeUnit.SECONDS);
+
+ assertThat(threadName).contains("VirtualThread");
+ assertThat(users).hasSize(2);
+ }
+
+ repository.deleteAll();
+ }
+
+ /**
+ * Here we demonstrate the usage of {@link CompletableFuture} as a result wrapper for asynchronous repository query
+ * methods running on Virtual Threads. Note, that we need to disable the surrounding transaction to be able to
+ * asynchronously read the written data from another thread within the same test method.
+ */
+ @Test
+ @Transactional(propagation = Propagation.NOT_SUPPORTED)
+ void asyncUsesVirtualThreads() throws Exception {
+
+ BlockingQueue thread = new LinkedBlockingQueue<>();
+ repository.save(new User("Customer1", "Foo"));
+ repository.save(new User("Customer2", "Bar"));
+
+ var future = repository.readAllBy().thenAccept(users -> {
+
+ assertThat(users).hasSize(2);
+ thread.add(Thread.currentThread().toString());
+ });
+
+ future.join();
+ String threadName = thread.poll(1, TimeUnit.SECONDS);
+
+ assertThat(threadName).contains("VirtualThread");
+
+ repository.deleteAll();
+ }
+}
diff --git a/jpa/graalvm-native/README.adoc b/jpa/graalvm-native/README.adoc
new file mode 100644
index 000000000..1048cc279
--- /dev/null
+++ b/jpa/graalvm-native/README.adoc
@@ -0,0 +1,48 @@
+== Spring Data Jpa - GraalVM native image
+
+This example compiles a basic Spring Data Jpa application into a GraalVM native image.
+
+=== Install GraalVM & native image tooling
+
+Download and install GraalVM using https://sdkman.io/[SDKMAN!].
+
+```
+$> sdk install java .r17-grl
+$> gu install native-image
+```
+
+=== Compile to native image
+
+The maven build uses a dedicated profile `native` to trigger the native image creation.
+
+```
+$> maven clean package -P native
+```
+
+This will create the native executable in the target folder.
+
+=== Run the image
+
+Run the image directly from your console as shown below.
+This will print results of crud functions invoked via a `CommandLineRunner`.
+
+```
+$> ./target/spring-data-jpa-graalvm-native
+
+ . ____ _ __ _ _
+ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
+( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
+ \\/ ___)| |_)| | | | | || (_| | ) ) ) )
+ ' |____| .__|_| |_|_| |_\__, | / / / /
+ =========|_|==============|___/=/_/_/_/
+ :: Spring Boot :: (v3.0.0-SNAPSHOT)
+
+INFO 82562 --- [ main] e.s.j.g.GraalvmNativeApplication : Starting GraalvmNativeApplication using Java 17.0.4 with PID 51404
+INFO 51404 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
+INFO 51404 --- [ main] c.example.data.jpa.DataJpaApplication : Started DataJpaApplication in 0.079 seconds (process running for 0.097)
+insertAuthors(): author1 = Author{name='Josh Long'}
+insertAuthors(): author2 = Author{name='Martin Kleppmann'}
+listAllAuthors(): author = Author{name='Josh Long'}
+ Book{title='Reactive Spring'}
+...
+```
diff --git a/jpa/graalvm-native/pom.xml b/jpa/graalvm-native/pom.xml
new file mode 100644
index 000000000..1f3173f60
--- /dev/null
+++ b/jpa/graalvm-native/pom.xml
@@ -0,0 +1,65 @@
+
+ 4.0.0
+
+ spring-data-jpa-graalvm-native
+
+
+ org.springframework.data.examples
+ spring-data-examples
+ 4.0.0-SNAPSHOT
+ ../../pom.xml
+
+
+ Spring Data JPA - GraalVM Native Image
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+
+ com.h2database
+ h2
+ runtime
+
+
+
+
+
+
+
+ org.graalvm.buildtools
+ native-maven-plugin
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ org.hibernate.orm
+ hibernate-maven-plugin
+ ${hibernate.version}
+
+
+
+ true
+ true
+ true
+
+
+
+ enhance
+
+
+
+
+
+
+
+
+
diff --git a/jpa/graalvm-native/src/main/java/com/example/data/jpa/AuthorRepository.java b/jpa/graalvm-native/src/main/java/com/example/data/jpa/AuthorRepository.java
new file mode 100644
index 000000000..7154a86a9
--- /dev/null
+++ b/jpa/graalvm-native/src/main/java/com/example/data/jpa/AuthorRepository.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2022 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.example.data.jpa;
+
+import java.util.Optional;
+
+import com.example.data.jpa.model.Author;
+
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.ListCrudRepository;
+
+public interface AuthorRepository extends ListCrudRepository {
+
+ Optional findByNameContainingIgnoreCase(String partialName);
+
+ @Query("SELECT a FROM Author a WHERE a.name = :name")
+ Optional queryFindByName(String name);
+
+}
diff --git a/jpa/graalvm-native/src/main/java/com/example/data/jpa/CLR.java b/jpa/graalvm-native/src/main/java/com/example/data/jpa/CLR.java
new file mode 100644
index 000000000..a8d48e575
--- /dev/null
+++ b/jpa/graalvm-native/src/main/java/com/example/data/jpa/CLR.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2022 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.example.data.jpa;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
+
+import com.example.data.jpa.model.Author;
+import com.example.data.jpa.model.Book;
+
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+@Component
+class CLR implements CommandLineRunner {
+
+ private final AuthorRepository authorRepository;
+
+ CLR(AuthorRepository authorRepository) {
+ this.authorRepository = authorRepository;
+ }
+
+ @Override
+ @Transactional
+ public void run(String... args) {
+ var authors = insertAuthors();
+ listAllAuthors();
+ findById(authors);
+ findByPartialName();
+ queryFindByName();
+ deleteAll();
+ }
+
+ private void deleteAll() {
+ this.authorRepository.deleteAll();
+ long count = this.authorRepository.count();
+ System.out.printf("deleteAll(): count = %d%n", count);
+ }
+
+ private void queryFindByName() {
+ Author author1 = this.authorRepository.queryFindByName("Josh Long").orElse(null);
+ Author author2 = this.authorRepository.queryFindByName("Martin Kleppmann").orElse(null);
+
+ System.out.printf("queryFindByName(): author1 = %s%n", author1);
+ System.out.printf("queryFindByName(): author2 = %s%n", author2);
+ }
+
+ private void findByPartialName() {
+ Author author1 = this.authorRepository.findByNameContainingIgnoreCase("sh lo").orElse(null);
+ Author author2 = this.authorRepository.findByNameContainingIgnoreCase("in kl").orElse(null);
+
+ System.out.printf("findByPartialName(): author1 = %s%n", author1);
+ System.out.printf("findByPartialName(): author2 = %s%n", author2);
+ }
+
+ private void findById(List authors) {
+ Author author1 = this.authorRepository.findById(authors.get(0).getId()).orElse(null);
+ Author author2 = this.authorRepository.findById(authors.get(1).getId()).orElse(null);
+
+ System.out.printf("findById(): author1 = %s%n", author1);
+ System.out.printf("findById(): author2 = %s%n", author2);
+ }
+
+ private void listAllAuthors() {
+ List authors = this.authorRepository.findAll();
+ for (Author author : authors) {
+ System.out.printf("listAllAuthors(): author = %s%n", author);
+ for (Book book : author.getBooks()) {
+ System.out.printf("\t%s%n", book);
+ }
+ }
+ }
+
+ private List insertAuthors() {
+ Author author1 = this.authorRepository.save(new Author(null, "Josh Long",
+ Set.of(new Book(null, "Reactive Spring"), new Book(null, "Cloud Native Java"))));
+ Author author2 = this.authorRepository.save(
+ new Author(null, "Martin Kleppmann", Set.of(new Book(null, "Designing Data Intensive Applications"))));
+
+ System.out.printf("insertAuthors(): author1 = %s%n", author1);
+ System.out.printf("insertAuthors(): author2 = %s%n", author2);
+
+ return Arrays.asList(author1, author2);
+ }
+
+}
diff --git a/geode/security/src/main/java/example/springdata/geode/client/security/server/SecurityEnabledServer.java b/jpa/graalvm-native/src/main/java/com/example/data/jpa/DataJpaApplication.java
old mode 100755
new mode 100644
similarity index 59%
rename from geode/security/src/main/java/example/springdata/geode/client/security/server/SecurityEnabledServer.java
rename to jpa/graalvm-native/src/main/java/com/example/data/jpa/DataJpaApplication.java
index 1a7738733..25c848175
--- a/geode/security/src/main/java/example/springdata/geode/client/security/server/SecurityEnabledServer.java
+++ b/jpa/graalvm-native/src/main/java/com/example/data/jpa/DataJpaApplication.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,20 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.geode.client.security.server;
+package com.example.data.jpa;
-import org.springframework.boot.WebApplicationType;
+import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.builder.SpringApplicationBuilder;
-/**
- * @author Patrick Johnson
- */
@SpringBootApplication
-public class SecurityEnabledServer {
+public class DataJpaApplication {
- public static void main(String[] args) {
- new SpringApplicationBuilder(SecurityEnabledServer.class).web(WebApplicationType.NONE).build().run(args);
+ public static void main(String[] args) throws InterruptedException {
+ SpringApplication.run(DataJpaApplication.class, args);
}
}
diff --git a/jpa/graalvm-native/src/main/java/com/example/data/jpa/model/Author.java b/jpa/graalvm-native/src/main/java/com/example/data/jpa/model/Author.java
new file mode 100644
index 000000000..73ec2886f
--- /dev/null
+++ b/jpa/graalvm-native/src/main/java/com/example/data/jpa/model/Author.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright 2022 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.example.data.jpa.model;
+
+import java.util.Objects;
+import java.util.Set;
+
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.OneToMany;
+
+@Entity
+public class Author {
+
+ @Id
+ @GeneratedValue
+ private Long id;
+
+ private String name;
+
+ @OneToMany(cascade = CascadeType.ALL)
+ private Set books;
+
+ protected Author() {
+ }
+
+ public Author(Long id, String name, Set books) {
+ this.id = id;
+ this.name = name;
+ this.books = books;
+ }
+
+ public Long getId() {
+ return id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Set getBooks() {
+ return books;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Author author = (Author) o;
+ return Objects.equals(id, author.id) && Objects.equals(name, author.name)
+ && Objects.equals(books, author.books);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, name, books);
+ }
+
+ @Override
+ public String toString() {
+ return "Author{" + "name='" + name + '\'' + '}';
+ }
+
+}
diff --git a/jpa/graalvm-native/src/main/java/com/example/data/jpa/model/Book.java b/jpa/graalvm-native/src/main/java/com/example/data/jpa/model/Book.java
new file mode 100644
index 000000000..2e7c256d4
--- /dev/null
+++ b/jpa/graalvm-native/src/main/java/com/example/data/jpa/model/Book.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2022 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.example.data.jpa.model;
+
+import java.util.Objects;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+
+@Entity
+public class Book {
+
+ @Id
+ @GeneratedValue
+ private Long id;
+
+ private String title;
+
+ protected Book() {
+ }
+
+ public Book(Long id, String title) {
+ this.id = id;
+ this.title = title;
+ }
+
+ public Long getId() {
+ return id;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Book book = (Book) o;
+ return Objects.equals(id, book.id) && Objects.equals(title, book.title);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, title);
+ }
+
+ @Override
+ public String toString() {
+ return "Book{" + "title='" + title + '\'' + '}';
+ }
+
+}
diff --git a/jpa/graalvm-native/src/main/resources/application.properties b/jpa/graalvm-native/src/main/resources/application.properties
new file mode 100644
index 000000000..e69de29bb
diff --git a/jpa/graalvm-native/src/main/resources/schema.sql b/jpa/graalvm-native/src/main/resources/schema.sql
new file mode 100644
index 000000000..14e51639f
--- /dev/null
+++ b/jpa/graalvm-native/src/main/resources/schema.sql
@@ -0,0 +1,12 @@
+create table author
+(
+ id bigint auto_increment primary key,
+ name varchar not null
+);
+
+create table book
+(
+ id bigint auto_increment primary key,
+ author bigint not null references author (id),
+ title varchar not null
+);
diff --git a/jpa/graalvm-native/src/test/java/com/example/data/jpa/DataJpaApplicationTests.java b/jpa/graalvm-native/src/test/java/com/example/data/jpa/DataJpaApplicationTests.java
new file mode 100644
index 000000000..aedc738b1
--- /dev/null
+++ b/jpa/graalvm-native/src/test/java/com/example/data/jpa/DataJpaApplicationTests.java
@@ -0,0 +1,14 @@
+package com.example.data.jpa;
+
+import org.junit.jupiter.api.Test;
+
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class DataJpaApplicationTests {
+
+ @Test
+ void contextLoads() {
+ }
+
+}
diff --git a/jpa/interceptors/pom.xml b/jpa/interceptors/pom.xml
index dabd464b6..18fd01cee 100644
--- a/jpa/interceptors/pom.xml
+++ b/jpa/interceptors/pom.xml
@@ -6,7 +6,7 @@
org.springframework.data.examplesspring-data-jpa-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
diff --git a/jpa/interceptors/src/main/java/example/springdata/jpa/interceptors/Customer.java b/jpa/interceptors/src/main/java/example/springdata/jpa/interceptors/Customer.java
index 4d89fdee9..02b026b30 100644
--- a/jpa/interceptors/src/main/java/example/springdata/jpa/interceptors/Customer.java
+++ b/jpa/interceptors/src/main/java/example/springdata/jpa/interceptors/Customer.java
@@ -15,16 +15,26 @@
*/
package example.springdata.jpa.interceptors;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
@Entity
public class Customer {
- @Id @GeneratedValue Long id;
+ @Id
+ @GeneratedValue
+ Long id;
String firstname;
String lastname;
+ @Override
+ public String toString() {
+ return "Customer{" +
+ "id=" + id +
+ ", firstname='" + firstname + '\'' +
+ ", lastname='" + lastname + '\'' +
+ '}';
+ }
}
diff --git a/jpa/interceptors/src/test/java/example/springdata/jpa/interceptors/InterceptorIntegrationTest.java b/jpa/interceptors/src/test/java/example/springdata/jpa/interceptors/InterceptorIntegrationTest.java
index 6ccace00c..976c07f74 100644
--- a/jpa/interceptors/src/test/java/example/springdata/jpa/interceptors/InterceptorIntegrationTest.java
+++ b/jpa/interceptors/src/test/java/example/springdata/jpa/interceptors/InterceptorIntegrationTest.java
@@ -30,12 +30,13 @@ class InterceptorIntegrationTest {
@Autowired CustomerRepository repository;
@Test
- void foo() {
+ void demonstrateInterceptor() {
var customer = new Customer();
customer.firstname = "Dave";
customer.lastname = "Matthews";
+ // observer Log output from ApplicationConfiguration.interceptor
repository.save(customer);
}
}
diff --git a/jpa/jpa21/README.md b/jpa/jpa21/README.md
index 89be21eed..3683ef2ff 100644
--- a/jpa/jpa21/README.md
+++ b/jpa/jpa21/README.md
@@ -5,7 +5,7 @@ This project contains samples of JPA 2.1 specific features of Spring Data JPA.
## Support for declarative Fetch Graphs customization
You can customize the loading of entity associations via EntityGraphs. JPA 2.1 provides the `NamedEntityGraph` annotation
-that allows you define fetching behavior in a flexible way.
+that allows you to define fetching behavior in a flexible way.
In Spring Data JPA we support to specify which fetch-graph to use for a repository query method via the `EntityGraph` annotation.
@@ -15,7 +15,7 @@ You can refer to a fetch graph by name like in the following example.
Product findOneById(Long id);
```
-We also offer an alternative and more concise way to declarativly specify a fetch graph for a repository query method in an
+We also offer an alternative and more concise way to declaratively specify a fetch graph for a repository query method in an
ad-hoc manner:
```java
@EntityGraph(attributePaths = "tags")
@@ -61,7 +61,7 @@ Spring Data JPA repository declaration to execute procedures:
public interface UserRepository extends CrudRepository {
// Explicitly mapped to named stored procedure {@code User.plus1} in the {@link EntityManager}.
- // By default, we would've try to find a procedure declaration named User.plus1BackedByOtherNamedStoredProcedure
+ // By default, we would've tried to find a procedure declaration named User.plus1BackedByOtherNamedStoredProcedure
@Procedure(name = "User.plus1")
Integer plus1BackedByOtherNamedStoredProcedure(@Param("arg") Integer arg);
@@ -126,4 +126,4 @@ interface SubscriptionRepository extends CrudRepository {
@Query(nativeQuery = true)
List findAllSubscriptionSummaries();
}
-```
\ No newline at end of file
+```
diff --git a/jpa/jpa21/pom.xml b/jpa/jpa21/pom.xml
index ae798bfec..4b671e584 100644
--- a/jpa/jpa21/pom.xml
+++ b/jpa/jpa21/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data.examplesspring-data-jpa-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-jpa-jpa21
diff --git a/jpa/jpa21/src/main/java/example/springdata/jpa/fetchgraph/Product.java b/jpa/jpa21/src/main/java/example/springdata/jpa/fetchgraph/Product.java
index cc09b1e15..aa146d4bc 100644
--- a/jpa/jpa21/src/main/java/example/springdata/jpa/fetchgraph/Product.java
+++ b/jpa/jpa21/src/main/java/example/springdata/jpa/fetchgraph/Product.java
@@ -21,15 +21,15 @@
import java.util.HashSet;
import java.util.Set;
-import javax.persistence.CascadeType;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.ManyToMany;
-import javax.persistence.NamedAttributeNode;
-import javax.persistence.NamedEntityGraph;
-import javax.persistence.NamedEntityGraphs;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.ManyToMany;
+import jakarta.persistence.NamedAttributeNode;
+import jakarta.persistence.NamedEntityGraph;
+import jakarta.persistence.NamedEntityGraphs;
/**
* @author Thomas Darimont
diff --git a/jpa/jpa21/src/main/java/example/springdata/jpa/fetchgraph/ProductRepository.java b/jpa/jpa21/src/main/java/example/springdata/jpa/fetchgraph/ProductRepository.java
index 62178d524..bb7e2a30a 100644
--- a/jpa/jpa21/src/main/java/example/springdata/jpa/fetchgraph/ProductRepository.java
+++ b/jpa/jpa21/src/main/java/example/springdata/jpa/fetchgraph/ProductRepository.java
@@ -15,8 +15,8 @@
*/
package example.springdata.jpa.fetchgraph;
-import javax.persistence.FetchType;
-import javax.persistence.NamedEntityGraph;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.NamedEntityGraph;
import org.springframework.data.jpa.repository.EntityGraph;
import org.springframework.data.jpa.repository.JpaRepository;
diff --git a/jpa/jpa21/src/main/java/example/springdata/jpa/fetchgraph/Tag.java b/jpa/jpa21/src/main/java/example/springdata/jpa/fetchgraph/Tag.java
index 6919c3d2f..5d4a77b64 100644
--- a/jpa/jpa21/src/main/java/example/springdata/jpa/fetchgraph/Tag.java
+++ b/jpa/jpa21/src/main/java/example/springdata/jpa/fetchgraph/Tag.java
@@ -18,9 +18,9 @@
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
/**
* @author Thomas Darimont
diff --git a/jpa/jpa21/src/main/java/example/springdata/jpa/resultsetmappings/Subscription.java b/jpa/jpa21/src/main/java/example/springdata/jpa/resultsetmappings/Subscription.java
index 5dc6bec07..e5083b340 100644
--- a/jpa/jpa21/src/main/java/example/springdata/jpa/resultsetmappings/Subscription.java
+++ b/jpa/jpa21/src/main/java/example/springdata/jpa/resultsetmappings/Subscription.java
@@ -20,14 +20,14 @@
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.persistence.ColumnResult;
-import javax.persistence.ConstructorResult;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.NamedNativeQueries;
-import javax.persistence.NamedNativeQuery;
-import javax.persistence.SqlResultSetMapping;
+import jakarta.persistence.ColumnResult;
+import jakarta.persistence.ConstructorResult;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.NamedNativeQueries;
+import jakarta.persistence.NamedNativeQuery;
+import jakarta.persistence.SqlResultSetMapping;
/**
* @author Thomas Darimont
diff --git a/jpa/jpa21/src/main/java/example/springdata/jpa/resultsetmappings/SubscriptionRepository.java b/jpa/jpa21/src/main/java/example/springdata/jpa/resultsetmappings/SubscriptionRepository.java
index b88f9d0df..7d13b4afe 100644
--- a/jpa/jpa21/src/main/java/example/springdata/jpa/resultsetmappings/SubscriptionRepository.java
+++ b/jpa/jpa21/src/main/java/example/springdata/jpa/resultsetmappings/SubscriptionRepository.java
@@ -17,7 +17,7 @@
import java.util.List;
-import javax.persistence.SqlResultSetMapping;
+import jakarta.persistence.SqlResultSetMapping;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
@@ -30,7 +30,7 @@ public interface SubscriptionRepository extends CrudRepository
- * Note that this example uses a JPA 2.1 Constructor based {@link javax.persistence.SqlResultSetMapping} in
+ * Note that this example uses a JPA 2.1 Constructor based {@link jakarta.persistence.SqlResultSetMapping} in
* combination with native query defined in {@link Subscription}.
*
* @return
diff --git a/jpa/jpa21/src/main/java/example/springdata/jpa/storedprocedures/User.java b/jpa/jpa21/src/main/java/example/springdata/jpa/storedprocedures/User.java
index 93bf35f9d..a1132117a 100644
--- a/jpa/jpa21/src/main/java/example/springdata/jpa/storedprocedures/User.java
+++ b/jpa/jpa21/src/main/java/example/springdata/jpa/storedprocedures/User.java
@@ -15,12 +15,12 @@
*/
package example.springdata.jpa.storedprocedures;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.NamedStoredProcedureQuery;
-import javax.persistence.ParameterMode;
-import javax.persistence.StoredProcedureParameter;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.NamedStoredProcedureQuery;
+import jakarta.persistence.ParameterMode;
+import jakarta.persistence.StoredProcedureParameter;
/**
* Sample user class.
diff --git a/jpa/jpa21/src/main/java/example/springdata/jpa/storedprocedures/UserRepository.java b/jpa/jpa21/src/main/java/example/springdata/jpa/storedprocedures/UserRepository.java
index f023e7d96..e819e1ed0 100644
--- a/jpa/jpa21/src/main/java/example/springdata/jpa/storedprocedures/UserRepository.java
+++ b/jpa/jpa21/src/main/java/example/springdata/jpa/storedprocedures/UserRepository.java
@@ -15,14 +15,14 @@
*/
package example.springdata.jpa.storedprocedures;
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
import org.springframework.data.jpa.repository.query.Procedure;
import org.springframework.data.repository.CrudRepository;
/**
- * Simple repository interface for {@link User} instances. The interface is used to declare so called query methods,
- * methods to retrieve single entities or collections of them.
+ * Simple repository interface for {@link User} instances. The interface is used to declare the so-called query methods,
+ * i.e. methods to retrieve single entities or collections of them.
*
* @author Oliver Gierke
* @author Thomas Darimont
diff --git a/jpa/jpa21/src/main/resources/application.properties b/jpa/jpa21/src/main/resources/application.properties
index d98d035f1..e845ada33 100644
--- a/jpa/jpa21/src/main/resources/application.properties
+++ b/jpa/jpa21/src/main/resources/application.properties
@@ -1 +1 @@
-spring.datasource.separator=/;
\ No newline at end of file
+spring.sql.init.separator=/;
diff --git a/jpa/jpa21/src/test/java/example/springdata/jpa/fetchgraph/FetchGraphIntegrationTests.java b/jpa/jpa21/src/test/java/example/springdata/jpa/fetchgraph/FetchGraphIntegrationTests.java
index 69610f7f0..569a405e9 100644
--- a/jpa/jpa21/src/test/java/example/springdata/jpa/fetchgraph/FetchGraphIntegrationTests.java
+++ b/jpa/jpa21/src/test/java/example/springdata/jpa/fetchgraph/FetchGraphIntegrationTests.java
@@ -19,7 +19,7 @@
import java.util.Collections;
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
import org.hibernate.LazyInitializationException;
import org.junit.jupiter.api.Test;
diff --git a/jpa/jpa21/src/test/java/example/springdata/jpa/resultsetmappings/SubscriptionRepositoryIntegrationTests.java b/jpa/jpa21/src/test/java/example/springdata/jpa/resultsetmappings/SubscriptionRepositoryIntegrationTests.java
index 4b19bee13..70402837c 100644
--- a/jpa/jpa21/src/test/java/example/springdata/jpa/resultsetmappings/SubscriptionRepositoryIntegrationTests.java
+++ b/jpa/jpa21/src/test/java/example/springdata/jpa/resultsetmappings/SubscriptionRepositoryIntegrationTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2018-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -22,7 +22,7 @@
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
+import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest;
import org.springframework.transaction.annotation.Transactional;
/**
diff --git a/jpa/jpa21/src/test/java/example/springdata/jpa/storedprocedures/UserRepositoryIntegrationTests.java b/jpa/jpa21/src/test/java/example/springdata/jpa/storedprocedures/UserRepositoryIntegrationTests.java
index 42ecabf0c..ee85600c7 100644
--- a/jpa/jpa21/src/test/java/example/springdata/jpa/storedprocedures/UserRepositoryIntegrationTests.java
+++ b/jpa/jpa21/src/test/java/example/springdata/jpa/storedprocedures/UserRepositoryIntegrationTests.java
@@ -17,8 +17,8 @@
import static org.assertj.core.api.Assertions.*;
-import javax.persistence.EntityManager;
-import javax.persistence.ParameterMode;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.ParameterMode;
import org.junit.jupiter.api.Test;
diff --git a/jpa/multiple-datasources/pom.xml b/jpa/multiple-datasources/pom.xml
index 879da171d..99a725b85 100644
--- a/jpa/multiple-datasources/pom.xml
+++ b/jpa/multiple-datasources/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data.examplesspring-data-jpa-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-jpa-multiple-datasources
diff --git a/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/Application.java b/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/Application.java
index 90357406d..6ff69ab3f 100644
--- a/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/Application.java
+++ b/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/Application.java
@@ -15,7 +15,7 @@
*/
package example.springdata.jpa.multipleds;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
diff --git a/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/DataInitializer.java b/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/DataInitializer.java
index 4bd16cd1c..ff1e8f332 100644
--- a/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/DataInitializer.java
+++ b/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/DataInitializer.java
@@ -38,8 +38,8 @@
* create a dedicated annotation meta-annotated with {@code @Transactional("…")} to be able to refer to a particular
* data source without using String qualifiers.
*
- * Also, not that one cannot interact with both databases in a single, transactional method as transactions are thread
- * bound in Spring an thus only a single transaction can be active in a single thread. See {@link Application#init()}
+ * Also, note that one cannot interact with both databases in a single, transactional method as transactions are thread
+ * bound in Spring and thus only a single transaction can be active in a single thread. See {@link Application#init()}
* for how to orchestrate the calls.
*
* @author Oliver Gierke
diff --git a/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/customer/Customer.java b/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/customer/Customer.java
index f4715890f..f2cdbe1f2 100644
--- a/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/customer/Customer.java
+++ b/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/customer/Customer.java
@@ -23,10 +23,10 @@
import java.io.Serializable;
-import javax.persistence.Embeddable;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
+import jakarta.persistence.Embeddable;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
/**
* Simple domain class representing a {@link Customer}.
diff --git a/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/customer/CustomerConfig.java b/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/customer/CustomerConfig.java
index 4823bca8c..510d9c51f 100644
--- a/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/customer/CustomerConfig.java
+++ b/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/customer/CustomerConfig.java
@@ -15,7 +15,7 @@
*/
package example.springdata.jpa.multipleds.customer;
-import javax.persistence.EntityManagerFactory;
+import jakarta.persistence.EntityManagerFactory;
import javax.sql.DataSource;
import org.springframework.context.annotation.Bean;
@@ -32,7 +32,7 @@
* Configuration for the {@link Customer} slice of the system. A dedicated {@link DataSource},
* {@link JpaTransactionManager} and {@link EntityManagerFactory}. Note that there could of course be some deduplication
* with {@link example.springdata.jpa.multipleds.order.OrderConfig}. I just decided to keep it to focus on the
- * sepeartion of the two. Also, some overlaps might not even occur in real world scenarios (whether to create DDl or the
+ * separation of the two. Also, some overlaps might not even occur in real world scenarios (whether to create DDl or the
* like).
*
* @author Oliver Gierke
diff --git a/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/order/Order.java b/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/order/Order.java
index 0db09471f..c975bb49c 100644
--- a/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/order/Order.java
+++ b/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/order/Order.java
@@ -24,12 +24,12 @@
import java.util.ArrayList;
import java.util.List;
-import javax.persistence.CascadeType;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
import org.springframework.util.Assert;
diff --git a/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/order/OrderConfig.java b/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/order/OrderConfig.java
index 0c1bcd777..0aa133246 100644
--- a/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/order/OrderConfig.java
+++ b/jpa/multiple-datasources/src/main/java/example/springdata/jpa/multipleds/order/OrderConfig.java
@@ -15,7 +15,7 @@
*/
package example.springdata.jpa.multipleds.order;
-import javax.persistence.EntityManagerFactory;
+import jakarta.persistence.EntityManagerFactory;
import javax.sql.DataSource;
import org.springframework.context.annotation.Bean;
@@ -32,7 +32,7 @@
* Configuration for the {@link Order} slice of the system. A dedicated {@link DataSource},
* {@link JpaTransactionManager} and {@link EntityManagerFactory}. Note that there could of course be some deduplication
* with {@link example.springdata.jpa.multipleds.customer.CustomerConfig}. I just decided to keep it to focus on the
- * sepeartion of the two. Also, some overlaps might not even occur in real world scenarios (whether to create DDl or the
+ * separation of the two. Also, some overlaps might not even occur in real world scenarios (whether to create DDl or the
* like).
*
* @author Oliver Gierke
diff --git a/jpa/multiple-datasources/src/test/java/example/springdata/jpa/multipleds/customer/CustomerRepositoryTests.java b/jpa/multiple-datasources/src/test/java/example/springdata/jpa/multipleds/customer/CustomerRepositoryTests.java
index cc567cae0..645225f80 100644
--- a/jpa/multiple-datasources/src/test/java/example/springdata/jpa/multipleds/customer/CustomerRepositoryTests.java
+++ b/jpa/multiple-datasources/src/test/java/example/springdata/jpa/multipleds/customer/CustomerRepositoryTests.java
@@ -17,7 +17,7 @@
import static org.assertj.core.api.Assertions.*;
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
import org.junit.jupiter.api.Test;
diff --git a/jpa/multitenant/.gitignore b/jpa/multitenant/.gitignore
new file mode 100644
index 000000000..549e00a2a
--- /dev/null
+++ b/jpa/multitenant/.gitignore
@@ -0,0 +1,33 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
diff --git a/jpa/multitenant/README.adoc b/jpa/multitenant/README.adoc
new file mode 100644
index 000000000..d4f21f927
--- /dev/null
+++ b/jpa/multitenant/README.adoc
@@ -0,0 +1,12 @@
+This is the parent project for a couple of examples demonstrating how to integrate Hibernates Multitenant feature with Spring Data JPA.
+
+There are three modules for the three examples.
+
+Each uses a different strategy to separate data by tenant:
+
+1. Partition tables by tenant id.
+2. Use a separate schema per tenant
+3. Use a separate database per tenant.
+
+_The contained projects are only examples how to use Hibernates Multitenant feature with Spring Data JPA.
+For any real application a decision has to be made how to scope a tenant. Storing it in a singleton as in the examples is for most cases not an appropriate solution._
diff --git a/jpa/multitenant/db/pom.xml b/jpa/multitenant/db/pom.xml
new file mode 100644
index 000000000..d13ebaf06
--- /dev/null
+++ b/jpa/multitenant/db/pom.xml
@@ -0,0 +1,42 @@
+
+
+ 4.0.0
+
+ hibernate-multitenant-db
+
+
+ org.springframework.data.examples
+ spring-data-jpa-hibernate-multitenant-examples
+ 4.0.0-SNAPSHOT
+
+
+ Hibernate Multitenant DB
+
+ Example project demonstrating the integration of Hibernates Multitenant feature with Spring Boot using separate databases.
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+
+ com.h2database
+ h2
+ runtime
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
diff --git a/jpa/multitenant/db/src/main/java/example/springdata/jpa/hibernatemultitenant/db/Application.java b/jpa/multitenant/db/src/main/java/example/springdata/jpa/hibernatemultitenant/db/Application.java
new file mode 100644
index 000000000..e3863b9dc
--- /dev/null
+++ b/jpa/multitenant/db/src/main/java/example/springdata/jpa/hibernatemultitenant/db/Application.java
@@ -0,0 +1,11 @@
+package example.springdata.jpa.hibernatemultitenant.db;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class Application {
+ public static void main(String[] args) {
+ SpringApplication.run(Application.class, args);
+ }
+}
diff --git a/jpa/multitenant/db/src/main/java/example/springdata/jpa/hibernatemultitenant/db/NoOpConnectionProvider.java b/jpa/multitenant/db/src/main/java/example/springdata/jpa/hibernatemultitenant/db/NoOpConnectionProvider.java
new file mode 100644
index 000000000..8bd6f88e5
--- /dev/null
+++ b/jpa/multitenant/db/src/main/java/example/springdata/jpa/hibernatemultitenant/db/NoOpConnectionProvider.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jpa.hibernatemultitenant.db;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.Map;
+
+import javax.sql.DataSource;
+
+import org.hibernate.cfg.AvailableSettings;
+import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.hibernate.autoconfigure.HibernatePropertiesCustomizer;
+import org.springframework.stereotype.Component;
+
+@Component
+public class NoOpConnectionProvider implements MultiTenantConnectionProvider, HibernatePropertiesCustomizer {
+
+ @Autowired DataSource dataSource;
+
+ @Override
+ public Connection getAnyConnection() throws SQLException {
+ return dataSource.getConnection();
+ }
+
+ @Override
+ public void releaseAnyConnection(Connection connection) throws SQLException {
+ connection.close();
+ }
+
+ @Override
+ public boolean supportsAggressiveRelease() {
+ return false;
+ }
+
+ @Override
+ public boolean isUnwrappableAs(Class> aClass) {
+ return false;
+ }
+
+ @Override
+ public T unwrap(Class aClass) {
+ throw new UnsupportedOperationException("Can't unwrap this.");
+ }
+
+ @Override
+ public void customize(Map hibernateProperties) {
+ hibernateProperties.put(AvailableSettings.MULTI_TENANT_CONNECTION_PROVIDER, this);
+ }
+
+ @Override
+ public Connection getConnection(Object tenantIdentifier) throws SQLException {
+ return dataSource.getConnection();
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider#releaseConnection(java.lang.Object, java.sql.Connection)
+ */
+ @Override
+ public void releaseConnection(Object tenantIdentifier, Connection connection) throws SQLException {
+ connection.close();
+ }
+}
diff --git a/jpa/multitenant/db/src/main/java/example/springdata/jpa/hibernatemultitenant/db/Person.java b/jpa/multitenant/db/src/main/java/example/springdata/jpa/hibernatemultitenant/db/Person.java
new file mode 100644
index 000000000..00215f991
--- /dev/null
+++ b/jpa/multitenant/db/src/main/java/example/springdata/jpa/hibernatemultitenant/db/Person.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2022 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jpa.hibernatemultitenant.db;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+
+@Entity
+public class Person {
+
+ @Id @GeneratedValue private Long id;
+
+ private String name;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String toString() {
+ return "Person{" + "id=" + id + ", name='" + name + '\'' + '}';
+ }
+}
diff --git a/jpa/multitenant/db/src/main/java/example/springdata/jpa/hibernatemultitenant/db/Persons.java b/jpa/multitenant/db/src/main/java/example/springdata/jpa/hibernatemultitenant/db/Persons.java
new file mode 100644
index 000000000..5cface362
--- /dev/null
+++ b/jpa/multitenant/db/src/main/java/example/springdata/jpa/hibernatemultitenant/db/Persons.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2022 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jpa.hibernatemultitenant.db;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface Persons extends JpaRepository {
+
+ static Person named(String name) {
+
+ Person person = new Person();
+ person.setName(name);
+ return person;
+ }
+}
diff --git a/jpa/multitenant/db/src/main/java/example/springdata/jpa/hibernatemultitenant/db/TenantIdentifierResolver.java b/jpa/multitenant/db/src/main/java/example/springdata/jpa/hibernatemultitenant/db/TenantIdentifierResolver.java
new file mode 100644
index 000000000..7888f3d08
--- /dev/null
+++ b/jpa/multitenant/db/src/main/java/example/springdata/jpa/hibernatemultitenant/db/TenantIdentifierResolver.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jpa.hibernatemultitenant.db;
+
+import java.util.Map;
+
+import org.hibernate.cfg.AvailableSettings;
+import org.hibernate.context.spi.CurrentTenantIdentifierResolver;
+
+import org.springframework.boot.hibernate.autoconfigure.HibernatePropertiesCustomizer;
+import org.springframework.stereotype.Component;
+
+@Component
+public class TenantIdentifierResolver
+ implements CurrentTenantIdentifierResolver, HibernatePropertiesCustomizer {
+
+ private String currentTenant = "unknown";
+
+ public void setCurrentTenant(String tenant) {
+ currentTenant = tenant;
+ }
+
+ @Override
+ public String resolveCurrentTenantIdentifier() {
+ return currentTenant;
+ }
+
+ @Override
+ public boolean validateExistingCurrentSessions() {
+ return false;
+ }
+
+ @Override
+ public void customize(Map hibernateProperties) {
+ hibernateProperties.put(AvailableSettings.MULTI_TENANT_IDENTIFIER_RESOLVER, this);
+ }
+}
diff --git a/jpa/multitenant/db/src/main/java/example/springdata/jpa/hibernatemultitenant/db/TenantRoutingDatasource.java b/jpa/multitenant/db/src/main/java/example/springdata/jpa/hibernatemultitenant/db/TenantRoutingDatasource.java
new file mode 100644
index 000000000..ed4438d4c
--- /dev/null
+++ b/jpa/multitenant/db/src/main/java/example/springdata/jpa/hibernatemultitenant/db/TenantRoutingDatasource.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2022 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jpa.hibernatemultitenant.db;
+
+import java.util.HashMap;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase;
+import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
+import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
+import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
+import org.springframework.stereotype.Component;
+
+@Component
+public class TenantRoutingDatasource extends AbstractRoutingDataSource {
+
+ @Autowired private TenantIdentifierResolver tenantIdentifierResolver;
+
+ TenantRoutingDatasource() {
+
+ setDefaultTargetDataSource(createEmbeddedDatabase("default"));
+
+ HashMap targetDataSources = new HashMap<>();
+ targetDataSources.put("VMWARE", createEmbeddedDatabase("VMWARE"));
+ targetDataSources.put("PIVOTAL", createEmbeddedDatabase("PIVOTAL"));
+ setTargetDataSources(targetDataSources);
+ }
+
+ @Override
+ protected String determineCurrentLookupKey() {
+ return tenantIdentifierResolver.resolveCurrentTenantIdentifier();
+ }
+
+ private EmbeddedDatabase createEmbeddedDatabase(String name) {
+
+ return new EmbeddedDatabaseBuilder().setType(EmbeddedDatabaseType.H2).setName(name).addScript("manual-schema.sql")
+ .build();
+ }
+}
diff --git a/jpa/multitenant/db/src/main/resources/application.properties b/jpa/multitenant/db/src/main/resources/application.properties
new file mode 100644
index 000000000..e69de29bb
diff --git a/jpa/multitenant/db/src/main/resources/manual-schema.sql b/jpa/multitenant/db/src/main/resources/manual-schema.sql
new file mode 100644
index 000000000..aca3da5c2
--- /dev/null
+++ b/jpa/multitenant/db/src/main/resources/manual-schema.sql
@@ -0,0 +1,2 @@
+create sequence person_seq start with 1 increment by 50;
+create table person (id bigint not null, name varchar(255), primary key (id));
diff --git a/jpa/multitenant/db/src/test/java/example/springdata/jpa/hibernatemultitenant/db/ApplicationTests.java b/jpa/multitenant/db/src/test/java/example/springdata/jpa/hibernatemultitenant/db/ApplicationTests.java
new file mode 100644
index 000000000..3e4a1878a
--- /dev/null
+++ b/jpa/multitenant/db/src/test/java/example/springdata/jpa/hibernatemultitenant/db/ApplicationTests.java
@@ -0,0 +1,49 @@
+package example.springdata.jpa.hibernatemultitenant.db;
+
+import static org.assertj.core.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.TestExecutionListeners;
+import org.springframework.test.context.support.DependencyInjectionTestExecutionListener;
+import org.springframework.transaction.support.TransactionTemplate;
+
+@SpringBootTest
+@TestExecutionListeners(listeners = { DependencyInjectionTestExecutionListener.class })
+class ApplicationTests {
+
+ public static final String PIVOTAL = "PIVOTAL";
+ public static final String VMWARE = "VMWARE";
+ @Autowired Persons persons;
+
+ @Autowired TransactionTemplate txTemplate;
+
+ @Autowired TenantIdentifierResolver currentTenant;
+
+ @Test
+ void saveAndLoadPerson() {
+
+ createPerson(PIVOTAL, "Adam");
+ createPerson(VMWARE, "Eve");
+
+ currentTenant.setCurrentTenant(VMWARE);
+ assertThat(persons.findAll()).extracting(Person::getName).containsExactly("Eve");
+
+ currentTenant.setCurrentTenant(PIVOTAL);
+ assertThat(persons.findAll()).extracting(Person::getName).containsExactly("Adam");
+ }
+
+ private Person createPerson(String schema, String name) {
+
+ currentTenant.setCurrentTenant(schema);
+
+ Person adam = txTemplate.execute(tx -> {
+ Person person = Persons.named(name);
+ return persons.save(person);
+ });
+
+ assertThat(adam.getId()).isNotNull();
+ return adam;
+ }
+}
diff --git a/jpa/multitenant/partition/pom.xml b/jpa/multitenant/partition/pom.xml
new file mode 100644
index 000000000..30d9d9595
--- /dev/null
+++ b/jpa/multitenant/partition/pom.xml
@@ -0,0 +1,40 @@
+
+
+ 4.0.0
+
+ hibernate-multitenant-partition
+
+
+ org.springframework.data.examples
+ spring-data-jpa-hibernate-multitenant-examples
+ 4.0.0-SNAPSHOT
+
+
+ Hibernate Multitenant Partition
+
+ Example project demonstrating the integration of Hibernates Multitenant feature with Spring Boot using partitioned tables.
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+
+ com.h2database
+ h2
+ runtime
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
diff --git a/jpa/multitenant/partition/src/main/java/example/springdata/jpa/hibernatemultitenant/partition/Application.java b/jpa/multitenant/partition/src/main/java/example/springdata/jpa/hibernatemultitenant/partition/Application.java
new file mode 100644
index 000000000..0622c1084
--- /dev/null
+++ b/jpa/multitenant/partition/src/main/java/example/springdata/jpa/hibernatemultitenant/partition/Application.java
@@ -0,0 +1,11 @@
+package example.springdata.jpa.hibernatemultitenant.partition;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class Application {
+ public static void main(String[] args) {
+ SpringApplication.run(Application.class, args);
+ }
+}
diff --git a/jpa/multitenant/partition/src/main/java/example/springdata/jpa/hibernatemultitenant/partition/Person.java b/jpa/multitenant/partition/src/main/java/example/springdata/jpa/hibernatemultitenant/partition/Person.java
new file mode 100644
index 000000000..1ea11d112
--- /dev/null
+++ b/jpa/multitenant/partition/src/main/java/example/springdata/jpa/hibernatemultitenant/partition/Person.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2022 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jpa.hibernatemultitenant.partition;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+
+import org.hibernate.annotations.TenantId;
+
+@Entity
+public class Person {
+
+ @Id @GeneratedValue private Long id;
+
+ @TenantId private String tenant;
+
+ private String name;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getTenant() {
+ return tenant;
+ }
+
+ public void setTenant(String tenant) {
+ this.tenant = tenant;
+ }
+
+ @Override
+ public String toString() {
+ return "Person{" + "id=" + id + ", name='" + name + '\'' + '}';
+ }
+}
diff --git a/jpa/multitenant/partition/src/main/java/example/springdata/jpa/hibernatemultitenant/partition/Persons.java b/jpa/multitenant/partition/src/main/java/example/springdata/jpa/hibernatemultitenant/partition/Persons.java
new file mode 100644
index 000000000..d60c309b8
--- /dev/null
+++ b/jpa/multitenant/partition/src/main/java/example/springdata/jpa/hibernatemultitenant/partition/Persons.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2022 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jpa.hibernatemultitenant.partition;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+
+public interface Persons extends JpaRepository {
+
+ static Person named(String name) {
+ Person person = new Person();
+ person.setName(name);
+ return person;
+ }
+
+ @Query("select p from Person p where name = :name")
+ Person findJpqlByName(String name);
+
+ @Query(value = "select * from Person p where name = :name", nativeQuery = true)
+ Person findSqlByName(String name);
+}
diff --git a/jpa/multitenant/partition/src/main/java/example/springdata/jpa/hibernatemultitenant/partition/TenantIdentifierResolver.java b/jpa/multitenant/partition/src/main/java/example/springdata/jpa/hibernatemultitenant/partition/TenantIdentifierResolver.java
new file mode 100644
index 000000000..e69bd4a76
--- /dev/null
+++ b/jpa/multitenant/partition/src/main/java/example/springdata/jpa/hibernatemultitenant/partition/TenantIdentifierResolver.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jpa.hibernatemultitenant.partition;
+
+import java.util.Map;
+
+import org.hibernate.cfg.AvailableSettings;
+import org.hibernate.context.spi.CurrentTenantIdentifierResolver;
+
+import org.springframework.boot.hibernate.autoconfigure.HibernatePropertiesCustomizer;
+import org.springframework.stereotype.Component;
+
+@Component
+public class TenantIdentifierResolver
+ implements CurrentTenantIdentifierResolver, HibernatePropertiesCustomizer {
+
+ private String currentTenant = "unknown";
+
+ public void setCurrentTenant(String tenant) {
+ currentTenant = tenant;
+ }
+
+ @Override
+ public String resolveCurrentTenantIdentifier() {
+ return currentTenant;
+ }
+
+ @Override
+ public boolean validateExistingCurrentSessions() {
+ return false;
+ }
+
+ @Override
+ public void customize(Map hibernateProperties) {
+ hibernateProperties.put(AvailableSettings.MULTI_TENANT_IDENTIFIER_RESOLVER, this);
+ }
+}
diff --git a/jpa/multitenant/partition/src/main/resources/application.properties b/jpa/multitenant/partition/src/main/resources/application.properties
new file mode 100644
index 000000000..e69de29bb
diff --git a/jpa/multitenant/partition/src/main/resources/schema.sql b/jpa/multitenant/partition/src/main/resources/schema.sql
new file mode 100644
index 000000000..e5fbfb119
--- /dev/null
+++ b/jpa/multitenant/partition/src/main/resources/schema.sql
@@ -0,0 +1,2 @@
+create sequence person_seq start with 1 increment by 50;
+create table person (id bigint not null, name varchar(255), tenant varchar(255) not null, primary key (id));
diff --git a/jpa/multitenant/partition/src/test/java/example/springdata/jpa/hibernatemultitenant/partition/ApplicationTests.java b/jpa/multitenant/partition/src/test/java/example/springdata/jpa/hibernatemultitenant/partition/ApplicationTests.java
new file mode 100644
index 000000000..0862bd81a
--- /dev/null
+++ b/jpa/multitenant/partition/src/test/java/example/springdata/jpa/hibernatemultitenant/partition/ApplicationTests.java
@@ -0,0 +1,99 @@
+package example.springdata.jpa.hibernatemultitenant.partition;
+
+import static org.assertj.core.api.Assertions.*;
+
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.dao.IncorrectResultSizeDataAccessException;
+import org.springframework.test.context.TestExecutionListeners;
+import org.springframework.test.context.support.DependencyInjectionTestExecutionListener;
+import org.springframework.transaction.support.TransactionTemplate;
+
+@SpringBootTest
+@TestExecutionListeners(listeners = { DependencyInjectionTestExecutionListener.class })
+class ApplicationTests {
+
+ public static final String PIVOTAL = "PIVOTAL";
+ public static final String VMWARE = "VMWARE";
+ @Autowired Persons persons;
+
+ @Autowired TransactionTemplate txTemplate;
+
+ @Autowired TenantIdentifierResolver currentTenant;
+
+ @AfterEach
+ void afterEach() {
+ currentTenant.setCurrentTenant(VMWARE);
+ persons.deleteAll();
+ currentTenant.setCurrentTenant(PIVOTAL);
+ persons.deleteAll();
+ }
+
+ @Test
+ void saveAndLoadPerson() {
+
+ final Person adam = createPerson(PIVOTAL, "Adam");
+ final Person eve = createPerson(VMWARE, "Eve");
+
+ assertThat(adam.getTenant()).isEqualTo(PIVOTAL);
+ assertThat(eve.getTenant()).isEqualTo(VMWARE);
+
+ currentTenant.setCurrentTenant(VMWARE);
+ assertThat(persons.findAll()).extracting(Person::getName).containsExactly("Eve");
+
+ currentTenant.setCurrentTenant(PIVOTAL);
+ assertThat(persons.findAll()).extracting(Person::getName).containsExactly("Adam");
+ }
+
+ @Test
+ @Disabled("Find by Id no longer considers the current tenant")
+ void findById() {
+
+ final Person adam = createPerson(PIVOTAL, "Adam");
+ final Person vAdam = createPerson(VMWARE, "Adam");
+
+ currentTenant.setCurrentTenant(VMWARE);
+ assertThat(persons.findById(vAdam.getId()).get().getTenant()).isEqualTo(VMWARE);
+ assertThat(persons.findById(adam.getId())).isEmpty();
+ }
+
+ @Test
+ void queryJPQL() {
+
+ createPerson(PIVOTAL, "Adam");
+ createPerson(VMWARE, "Adam");
+ createPerson(VMWARE, "Eve");
+
+ currentTenant.setCurrentTenant(VMWARE);
+ assertThat(persons.findJpqlByName("Adam").getTenant()).isEqualTo(VMWARE);
+
+ currentTenant.setCurrentTenant(PIVOTAL);
+ assertThat(persons.findJpqlByName("Eve")).isNull();
+ }
+
+ @Test
+ void querySQL() {
+
+ createPerson(PIVOTAL, "Adam");
+ createPerson(VMWARE, "Adam");
+
+ currentTenant.setCurrentTenant(VMWARE);
+ assertThatThrownBy(() -> persons.findSqlByName("Adam")).isInstanceOf(IncorrectResultSizeDataAccessException.class);
+ }
+
+ private Person createPerson(String schema, String name) {
+
+ currentTenant.setCurrentTenant(schema);
+
+ Person adam = txTemplate.execute(tx -> {
+ Person person = Persons.named(name);
+ return persons.save(person);
+ });
+
+ assertThat(adam.getId()).isNotNull();
+ return adam;
+ }
+}
diff --git a/jpa/multitenant/pom.xml b/jpa/multitenant/pom.xml
new file mode 100644
index 000000000..b982f584a
--- /dev/null
+++ b/jpa/multitenant/pom.xml
@@ -0,0 +1,28 @@
+
+
+ 4.0.0
+
+ spring-data-jpa-hibernate-multitenant-examples
+ 4.0.0-SNAPSHOT
+ pom
+
+
+ org.springframework.data.examples
+ spring-data-examples
+ 4.0.0-SNAPSHOT
+ ../../pom.xml
+
+
+ Hibernate Multitenant Examples
+
+ A set of projects demonstrating how Hibernates Multitenant features can be integrated with Spring Boot and Spring Data JPA.
+
+
+
+ partition
+ schema
+ db
+
+
+
diff --git a/jpa/multitenant/schema/pom.xml b/jpa/multitenant/schema/pom.xml
new file mode 100644
index 000000000..f00e105ed
--- /dev/null
+++ b/jpa/multitenant/schema/pom.xml
@@ -0,0 +1,40 @@
+
+
+ 4.0.0
+
+ hibernate-multitenant-schema
+
+
+ org.springframework.data.examples
+ spring-data-jpa-hibernate-multitenant-examples
+ 4.0.0-SNAPSHOT
+
+
+ Hibernate Multitenant Schema
+
+ Example project demonstrating the integration of Hibernates Multitenant feature with Spring Boot using different schema.
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+
+ com.h2database
+ h2
+ runtime
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
diff --git a/jpa/multitenant/schema/src/main/java/example/springdata/jpa/hibernatemultitenant/schema/Application.java b/jpa/multitenant/schema/src/main/java/example/springdata/jpa/hibernatemultitenant/schema/Application.java
new file mode 100644
index 000000000..1366f1ab4
--- /dev/null
+++ b/jpa/multitenant/schema/src/main/java/example/springdata/jpa/hibernatemultitenant/schema/Application.java
@@ -0,0 +1,11 @@
+package example.springdata.jpa.hibernatemultitenant.schema;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class Application {
+ public static void main(String[] args) {
+ SpringApplication.run(Application.class, args);
+ }
+}
diff --git a/jpa/multitenant/schema/src/main/java/example/springdata/jpa/hibernatemultitenant/schema/ExampleConnectionProvider.java b/jpa/multitenant/schema/src/main/java/example/springdata/jpa/hibernatemultitenant/schema/ExampleConnectionProvider.java
new file mode 100644
index 000000000..5314f2ab1
--- /dev/null
+++ b/jpa/multitenant/schema/src/main/java/example/springdata/jpa/hibernatemultitenant/schema/ExampleConnectionProvider.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jpa.hibernatemultitenant.schema;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.Map;
+
+import javax.sql.DataSource;
+
+import org.hibernate.cfg.AvailableSettings;
+import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.hibernate.autoconfigure.HibernatePropertiesCustomizer;
+import org.springframework.stereotype.Component;
+
+@Component
+public class ExampleConnectionProvider implements MultiTenantConnectionProvider, HibernatePropertiesCustomizer {
+
+ @Autowired DataSource dataSource;
+
+ @Override
+ public Connection getAnyConnection() throws SQLException {
+ return getConnection("PUBLIC");
+ }
+
+ @Override
+ public void releaseAnyConnection(Connection connection) throws SQLException {
+ connection.close();
+ }
+
+ @Override
+ public Connection getConnection(Object tenantIdentifier) throws SQLException {
+
+ final Connection connection = dataSource.getConnection();
+ connection.setSchema(tenantIdentifier.toString());
+ return connection;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider#releaseConnection(java.lang.Object, java.sql.Connection)
+ */
+ @Override
+ public void releaseConnection(Object tenantIdentifier, Connection connection) throws SQLException {
+
+ connection.setSchema("PUBLIC");
+ connection.close();
+ }
+
+ @Override
+ public boolean supportsAggressiveRelease() {
+ return false;
+ }
+
+ @Override
+ public boolean isUnwrappableAs(Class> aClass) {
+ return false;
+ }
+
+ @Override
+ public T unwrap(Class aClass) {
+ throw new UnsupportedOperationException("Can't unwrap this.");
+ }
+
+ @Override
+ public void customize(Map hibernateProperties) {
+ hibernateProperties.put(AvailableSettings.MULTI_TENANT_CONNECTION_PROVIDER, this);
+ }
+}
diff --git a/jpa/multitenant/schema/src/main/java/example/springdata/jpa/hibernatemultitenant/schema/Person.java b/jpa/multitenant/schema/src/main/java/example/springdata/jpa/hibernatemultitenant/schema/Person.java
new file mode 100644
index 000000000..2fecec6b6
--- /dev/null
+++ b/jpa/multitenant/schema/src/main/java/example/springdata/jpa/hibernatemultitenant/schema/Person.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2022 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jpa.hibernatemultitenant.schema;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+
+@Entity
+public class Person {
+
+ @Id @GeneratedValue private Long id;
+
+ private String name;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String toString() {
+ return "Person{" + "id=" + id + ", name='" + name + '\'' + '}';
+ }
+}
diff --git a/jpa/multitenant/schema/src/main/java/example/springdata/jpa/hibernatemultitenant/schema/Persons.java b/jpa/multitenant/schema/src/main/java/example/springdata/jpa/hibernatemultitenant/schema/Persons.java
new file mode 100644
index 000000000..91e64003d
--- /dev/null
+++ b/jpa/multitenant/schema/src/main/java/example/springdata/jpa/hibernatemultitenant/schema/Persons.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2022 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jpa.hibernatemultitenant.schema;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface Persons extends JpaRepository {
+ static Person named(String name) {
+ Person person = new Person();
+ person.setName(name);
+ return person;
+ }
+}
diff --git a/jpa/multitenant/schema/src/main/java/example/springdata/jpa/hibernatemultitenant/schema/TenantIdentifierResolver.java b/jpa/multitenant/schema/src/main/java/example/springdata/jpa/hibernatemultitenant/schema/TenantIdentifierResolver.java
new file mode 100644
index 000000000..19f9a82c1
--- /dev/null
+++ b/jpa/multitenant/schema/src/main/java/example/springdata/jpa/hibernatemultitenant/schema/TenantIdentifierResolver.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.jpa.hibernatemultitenant.schema;
+
+import java.util.Map;
+
+import org.hibernate.cfg.AvailableSettings;
+import org.hibernate.context.spi.CurrentTenantIdentifierResolver;
+
+import org.springframework.boot.hibernate.autoconfigure.HibernatePropertiesCustomizer;
+import org.springframework.stereotype.Component;
+
+@Component
+public class TenantIdentifierResolver
+ implements CurrentTenantIdentifierResolver, HibernatePropertiesCustomizer {
+
+ private String currentTenant = "unknown";
+
+ public void setCurrentTenant(String tenant) {
+ currentTenant = tenant;
+ }
+
+ @Override
+ public String resolveCurrentTenantIdentifier() {
+ return currentTenant;
+ }
+
+ @Override
+ public boolean validateExistingCurrentSessions() {
+ return false;
+ }
+
+ @Override
+ public void customize(Map hibernateProperties) {
+ hibernateProperties.put(AvailableSettings.MULTI_TENANT_IDENTIFIER_RESOLVER, this);
+ }
+}
diff --git a/jpa/multitenant/schema/src/main/resources/application.properties b/jpa/multitenant/schema/src/main/resources/application.properties
new file mode 100644
index 000000000..e69de29bb
diff --git a/jpa/multitenant/schema/src/main/resources/schema.sql b/jpa/multitenant/schema/src/main/resources/schema.sql
new file mode 100644
index 000000000..46b30aa7b
--- /dev/null
+++ b/jpa/multitenant/schema/src/main/resources/schema.sql
@@ -0,0 +1,8 @@
+create schema if not exists pivotal;
+create schema if not exists vmware;
+
+create sequence pivotal.person_seq start with 1 increment by 50;
+create table pivotal.person (id bigint not null, name varchar(255), primary key (id));
+
+create sequence vmware.person_seq start with 1 increment by 50;
+create table vmware.person (id bigint not null, name varchar(255), primary key (id));
diff --git a/jpa/multitenant/schema/src/test/java/example/springdata/jpa/hibernatemultitenant/schema/ApplicationTests.java b/jpa/multitenant/schema/src/test/java/example/springdata/jpa/hibernatemultitenant/schema/ApplicationTests.java
new file mode 100644
index 000000000..c627eca78
--- /dev/null
+++ b/jpa/multitenant/schema/src/test/java/example/springdata/jpa/hibernatemultitenant/schema/ApplicationTests.java
@@ -0,0 +1,49 @@
+package example.springdata.jpa.hibernatemultitenant.schema;
+
+import static org.assertj.core.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.TestExecutionListeners;
+import org.springframework.test.context.support.DependencyInjectionTestExecutionListener;
+import org.springframework.transaction.support.TransactionTemplate;
+
+@SpringBootTest
+@TestExecutionListeners(listeners = { DependencyInjectionTestExecutionListener.class })
+class ApplicationTests {
+
+ public static final String PIVOTAL = "PIVOTAL";
+ public static final String VMWARE = "VMWARE";
+ @Autowired Persons persons;
+
+ @Autowired TransactionTemplate txTemplate;
+
+ @Autowired TenantIdentifierResolver currentTenant;
+
+ @Test
+ void saveAndLoadPerson() {
+
+ createPerson(PIVOTAL, "Adam");
+ createPerson(VMWARE, "Eve");
+
+ currentTenant.setCurrentTenant(VMWARE);
+ assertThat(persons.findAll()).extracting(Person::getName).containsExactly("Eve");
+
+ currentTenant.setCurrentTenant(PIVOTAL);
+ assertThat(persons.findAll()).extracting(Person::getName).containsExactly("Adam");
+ }
+
+ private Person createPerson(String schema, String name) {
+
+ currentTenant.setCurrentTenant(schema);
+
+ Person adam = txTemplate.execute(tx -> {
+ Person person = Persons.named(name);
+ return persons.save(person);
+ });
+
+ assertThat(adam.getId()).isNotNull();
+ return adam;
+ }
+}
diff --git a/jpa/pom.xml b/jpa/pom.xml
index 7e6eeabb7..c16ddd3e1 100644
--- a/jpa/pom.xml
+++ b/jpa/pom.xml
@@ -1,5 +1,5 @@
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0%20https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0spring-data-jpa-examples
@@ -8,47 +8,30 @@
org.springframework.data.examplesspring-data-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTSpring Data JPA - ExamplesSample projects for Spring Data JPA
- https://projects.spring.io/spring-data-jpa
+ https://spring.io/projects/spring-data-jpa2011
+ aot-optimization
+ deferred
+ enversexample
- showcaseinterceptors
- jpa21
- security
+
multiple-datasourcesquery-by-example
+ security
+ showcasevavr
- deferred
- envers
+ multitenant
+ graalvm-native
-
-
- hibernate-53
-
- 5.3.0.Final
-
-
-
- java-next
-
-
- [8,14]
-
-
-
- eclipselink
-
-
-
-
@@ -56,6 +39,27 @@
spring-boot-starter-data-jpa
+
+ org.springframework.boot
+ spring-boot-data-jpa-test
+ test
+
+
+
+ org.springframework.data
+ spring-data-commons
+
+
+
+ org.springframework.data
+ spring-data-jpa
+
+
+
+ jakarta.persistence
+ jakarta.persistence-api
+
+
org.hsqldbhsqldb
diff --git a/jpa/query-by-example/pom.xml b/jpa/query-by-example/pom.xml
index ceb5bdf7d..eff3acc18 100644
--- a/jpa/query-by-example/pom.xml
+++ b/jpa/query-by-example/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data.examplesspring-data-jpa-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-jpa-query-by-example
diff --git a/jpa/query-by-example/src/main/java/example/springdata/jpa/querybyexample/SpecialUser.java b/jpa/query-by-example/src/main/java/example/springdata/jpa/querybyexample/SpecialUser.java
index 8200651e5..ef3169161 100644
--- a/jpa/query-by-example/src/main/java/example/springdata/jpa/querybyexample/SpecialUser.java
+++ b/jpa/query-by-example/src/main/java/example/springdata/jpa/querybyexample/SpecialUser.java
@@ -18,7 +18,7 @@
import lombok.Data;
import lombok.NoArgsConstructor;
-import javax.persistence.Entity;
+import jakarta.persistence.Entity;
/**
* Sample class that extends {@link User}.
diff --git a/jpa/query-by-example/src/main/java/example/springdata/jpa/querybyexample/User.java b/jpa/query-by-example/src/main/java/example/springdata/jpa/querybyexample/User.java
index 8fce4d8c8..d096e0cf0 100644
--- a/jpa/query-by-example/src/main/java/example/springdata/jpa/querybyexample/User.java
+++ b/jpa/query-by-example/src/main/java/example/springdata/jpa/querybyexample/User.java
@@ -19,9 +19,9 @@
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
/**
* Sample user class.
diff --git a/jpa/security/pom.xml b/jpa/security/pom.xml
index e92b9544b..7255b92ad 100644
--- a/jpa/security/pom.xml
+++ b/jpa/security/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data.examplesspring-data-jpa-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-jpa-security
diff --git a/jpa/security/src/main/java/example/springdata/jpa/security/BusinessObject.java b/jpa/security/src/main/java/example/springdata/jpa/security/BusinessObject.java
index de42f8865..2e8c54223 100644
--- a/jpa/security/src/main/java/example/springdata/jpa/security/BusinessObject.java
+++ b/jpa/security/src/main/java/example/springdata/jpa/security/BusinessObject.java
@@ -20,10 +20,10 @@
import java.util.Date;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.ManyToOne;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.ManyToOne;
/**
* @author Thomas Darimont
diff --git a/jpa/security/src/main/java/example/springdata/jpa/security/SecureBusinessObjectRepository.java b/jpa/security/src/main/java/example/springdata/jpa/security/SecureBusinessObjectRepository.java
index bb1d2b01e..c6cf3c4d9 100644
--- a/jpa/security/src/main/java/example/springdata/jpa/security/SecureBusinessObjectRepository.java
+++ b/jpa/security/src/main/java/example/springdata/jpa/security/SecureBusinessObjectRepository.java
@@ -33,7 +33,7 @@ interface SecureBusinessObjectRepository extends Repository
* select o from BusinessObject o where o.owner.emailAddress like ?
- * and set the the result SpEL expression evaluated at method invocation time as parameter value.
+ * and set the result SpEL expression evaluated at method invocation time as parameter value.
*
* @return
*/
@@ -41,7 +41,7 @@ interface SecureBusinessObjectRepository extends Repository findBusinessObjectsForCurrentUser();
/**
- * Here we apply a dynamic filter condition in there query depending of the role of the current principal.
+ * Here we apply a dynamic filter condition in the query depending on the role of the current principal.
*
* @return
*/
@@ -53,5 +53,5 @@ interface SecureBusinessObjectRepository extends Repositoryorg.springframework.data.examplesspring-data-jpa-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
@@ -84,6 +84,7 @@
com.querydslquerydsl-jpa${querydsl.version}
+ jakarta
@@ -99,6 +100,7 @@
com.querydslquerydsl-apt${querydsl.version}
+ jakarta
diff --git a/jpa/showcase/src/main/java/example/springdata/jpa/showcase/before/AccountServiceImpl.java b/jpa/showcase/src/main/java/example/springdata/jpa/showcase/before/AccountServiceImpl.java
index ddbe5640d..cd3fd8842 100644
--- a/jpa/showcase/src/main/java/example/springdata/jpa/showcase/before/AccountServiceImpl.java
+++ b/jpa/showcase/src/main/java/example/springdata/jpa/showcase/before/AccountServiceImpl.java
@@ -20,8 +20,8 @@
import java.util.List;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.PersistenceContext;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
diff --git a/jpa/showcase/src/main/java/example/springdata/jpa/showcase/before/CustomerServiceImpl.java b/jpa/showcase/src/main/java/example/springdata/jpa/showcase/before/CustomerServiceImpl.java
index b3ce11c99..d017f59f3 100644
--- a/jpa/showcase/src/main/java/example/springdata/jpa/showcase/before/CustomerServiceImpl.java
+++ b/jpa/showcase/src/main/java/example/springdata/jpa/showcase/before/CustomerServiceImpl.java
@@ -19,8 +19,8 @@
import java.util.List;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.PersistenceContext;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
diff --git a/jpa/showcase/src/main/java/example/springdata/jpa/showcase/core/Account.java b/jpa/showcase/src/main/java/example/springdata/jpa/showcase/core/Account.java
index bd29adc3d..1b4edacf0 100644
--- a/jpa/showcase/src/main/java/example/springdata/jpa/showcase/core/Account.java
+++ b/jpa/showcase/src/main/java/example/springdata/jpa/showcase/core/Account.java
@@ -17,13 +17,13 @@
import java.util.Date;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.ManyToOne;
-import javax.persistence.Temporal;
-import javax.persistence.TemporalType;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Temporal;
+import jakarta.persistence.TemporalType;
/**
* @author Oliver Gierke
diff --git a/jpa/showcase/src/main/java/example/springdata/jpa/showcase/core/Customer.java b/jpa/showcase/src/main/java/example/springdata/jpa/showcase/core/Customer.java
index 44a418015..67eb24cf0 100644
--- a/jpa/showcase/src/main/java/example/springdata/jpa/showcase/core/Customer.java
+++ b/jpa/showcase/src/main/java/example/springdata/jpa/showcase/core/Customer.java
@@ -15,10 +15,10 @@
*/
package example.springdata.jpa.showcase.core;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
/**
* @author Oliver Gierke
diff --git a/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountRepositoryImpl.java b/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountRepositoryImpl.java
index 40e121411..f0337db78 100644
--- a/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountRepositoryImpl.java
+++ b/jpa/showcase/src/snippets/java/example/springdata/jpa/showcase/snippets/AccountRepositoryImpl.java
@@ -20,7 +20,7 @@
import java.time.LocalDate;
import java.util.Date;
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
diff --git a/jpa/vavr/pom.xml b/jpa/vavr/pom.xml
index c2c2e8f16..dea593e16 100644
--- a/jpa/vavr/pom.xml
+++ b/jpa/vavr/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data.examplesspring-data-jpa-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-jpa-vavr
diff --git a/jpa/vavr/src/main/java/example/Person.java b/jpa/vavr/src/main/java/example/Person.java
index 84ce6b74e..b80b368bd 100644
--- a/jpa/vavr/src/main/java/example/Person.java
+++ b/jpa/vavr/src/main/java/example/Person.java
@@ -20,9 +20,9 @@
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
/**
* @author Oliver Gierke
diff --git a/jpa/vavr/src/main/java/example/PersonRepository.java b/jpa/vavr/src/main/java/example/PersonRepository.java
index f49f32dc9..31442a341 100644
--- a/jpa/vavr/src/main/java/example/PersonRepository.java
+++ b/jpa/vavr/src/main/java/example/PersonRepository.java
@@ -25,6 +25,7 @@
import java.util.Optional;
import org.springframework.data.repository.Repository;
+import org.springframework.data.repository.query.Param;
/**
* Repository interface showing the usage of Vavr collections and its {@link Option} type as repository query method
@@ -55,7 +56,7 @@ public interface PersonRepository extends Repository {
/**
* Returning a {@link Try} is supported out of the box with all exceptions being handled by {@link Try} immediately.
- *
+ *
* @param lastname
* @return
*/
diff --git a/jpa/vavr/src/test/java/example/PersonRepositoryIntegrationTests.java b/jpa/vavr/src/test/java/example/PersonRepositoryIntegrationTests.java
index 19e9f99d8..56bc85ea2 100644
--- a/jpa/vavr/src/test/java/example/PersonRepositoryIntegrationTests.java
+++ b/jpa/vavr/src/test/java/example/PersonRepositoryIntegrationTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2016-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -17,14 +17,13 @@
import static org.assertj.core.api.Assertions.*;
-import javax.persistence.NonUniqueResultException;
+import jakarta.persistence.NonUniqueResultException;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
-import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest;
import org.springframework.transaction.annotation.Transactional;
/**
diff --git a/ldap/example/README.md b/ldap/example/README.md
index b61983f8f..9f456301e 100644
--- a/ldap/example/README.md
+++ b/ldap/example/README.md
@@ -12,4 +12,4 @@ public interface PersonRepository extends CrudRepository {
}
```
-The test cases in `PersonRepositoryIntegrationTests` show basic interaction to search, create and modify objects stored in a LDAP repository.
+The test cases in `PersonRepositoryIntegrationTests` show basic interaction to search, create and modify objects stored in an LDAP repository.
diff --git a/ldap/example/pom.xml b/ldap/example/pom.xml
index 23ab90eda..10a7450e9 100644
--- a/ldap/example/pom.xml
+++ b/ldap/example/pom.xml
@@ -9,21 +9,8 @@
org.springframework.data.examplesspring-data-ldap-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
- --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED
-
-
-
-
-
-
diff --git a/ldap/example/src/main/java/example/springdata/ldap/ApplicationConfiguration.java b/ldap/example/src/main/java/example/springdata/ldap/ApplicationConfiguration.java
index 3f17a82ae..fccb89b80 100644
--- a/ldap/example/src/main/java/example/springdata/ldap/ApplicationConfiguration.java
+++ b/ldap/example/src/main/java/example/springdata/ldap/ApplicationConfiguration.java
@@ -18,7 +18,7 @@
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
- * Test configuration to spin up a in-memory LDAP server (see {@code application.properties}). Also enables Spring Data
+ * Test configuration to spin up an in-memory LDAP server (see {@code application.properties}). Also enables Spring Data
* repositories for LDAP.
*
* @author Mark Paluch
diff --git a/ldap/example/src/test/resources/application.properties b/ldap/example/src/test/resources/application.properties
index 7a45a01f3..ce931dbf7 100644
--- a/ldap/example/src/test/resources/application.properties
+++ b/ldap/example/src/test/resources/application.properties
@@ -1,3 +1,2 @@
spring.ldap.embedded.ldif=test-server.ldif
spring.ldap.embedded.base-dn=dc=springframework,dc=org
-spring.ldap.base=dc=springframework,dc=org
diff --git a/ldap/pom.xml b/ldap/pom.xml
index 1653344b1..71e97b87b 100644
--- a/ldap/pom.xml
+++ b/ldap/pom.xml
@@ -8,13 +8,13 @@
org.springframework.data.examplesspring-data-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xmlSpring Data LDAP - ExamplesSample projects for Spring Data LDAP
- https://projects.spring.io/spring-data-ldap
+ https://spring.io/spring-data-ldapexample
diff --git a/map/pom.xml b/map/pom.xml
index fe9bbf789..9d512e3da 100644
--- a/map/pom.xml
+++ b/map/pom.xml
@@ -9,7 +9,7 @@
org.springframework.data.examplesspring-data-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/mongodb/aggregation/pom.xml b/mongodb/aggregation/pom.xml
index 7f45c01b0..229a33a65 100644
--- a/mongodb/aggregation/pom.xml
+++ b/mongodb/aggregation/pom.xml
@@ -9,7 +9,15 @@
org.springframework.data.examplesspring-data-mongodb-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
-
\ No newline at end of file
+
+
+ org.springframework.data.examples
+ spring-data-mongodb-example-utils
+ test
+
+
+
+
diff --git a/mongodb/aggregation/src/main/java/example/springdata/mongodb/aggregation/LineItem.java b/mongodb/aggregation/src/main/java/example/springdata/mongodb/aggregation/LineItem.java
index 3aae13372..0626835af 100644
--- a/mongodb/aggregation/src/main/java/example/springdata/mongodb/aggregation/LineItem.java
+++ b/mongodb/aggregation/src/main/java/example/springdata/mongodb/aggregation/LineItem.java
@@ -15,7 +15,7 @@
*/
package example.springdata.mongodb.aggregation;
-import org.springframework.data.annotation.PersistenceConstructor;
+import org.springframework.data.annotation.PersistenceCreator;
/**
* A line item.
@@ -26,7 +26,7 @@
public record LineItem(String caption, double price, int quantity) {
- @PersistenceConstructor
+ @PersistenceCreator
public LineItem {
}
diff --git a/mongodb/aggregation/src/main/java/example/springdata/mongodb/aggregation/Order.java b/mongodb/aggregation/src/main/java/example/springdata/mongodb/aggregation/Order.java
index 1149e33b5..ef038e748 100644
--- a/mongodb/aggregation/src/main/java/example/springdata/mongodb/aggregation/Order.java
+++ b/mongodb/aggregation/src/main/java/example/springdata/mongodb/aggregation/Order.java
@@ -22,7 +22,7 @@
import java.util.Date;
import java.util.List;
-import org.springframework.data.annotation.PersistenceConstructor;
+import org.springframework.data.annotation.PersistenceCreator;
import org.springframework.data.mongodb.core.mapping.Document;
/**
@@ -34,7 +34,7 @@
* @author Mark Paluch
*/
@Data
-@AllArgsConstructor(onConstructor = @__(@PersistenceConstructor))
+@AllArgsConstructor(onConstructor = @__(@PersistenceCreator))
@Document
public class Order {
diff --git a/mongodb/aggregation/src/test/java/example/springdata/mongodb/aggregation/OrderRepositoryIntegrationTests.java b/mongodb/aggregation/src/test/java/example/springdata/mongodb/aggregation/OrderRepositoryIntegrationTests.java
index a0ddac075..227c2998f 100644
--- a/mongodb/aggregation/src/test/java/example/springdata/mongodb/aggregation/OrderRepositoryIntegrationTests.java
+++ b/mongodb/aggregation/src/test/java/example/springdata/mongodb/aggregation/OrderRepositoryIntegrationTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2014-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -18,6 +18,8 @@
import static org.assertj.core.api.Assertions.*;
import static org.assertj.core.data.Offset.offset;
+import example.springdata.mongodb.util.MongoContainers;
+
import java.util.Date;
import org.junit.jupiter.api.BeforeEach;
@@ -26,6 +28,12 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.domain.Sort;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* Integration tests for {@link OrderRepository}.
@@ -35,9 +43,18 @@
* @author Christoph Strobl
* @author Divya Srivastava
*/
+@Testcontainers
@SpringBootTest
class OrderRepositoryIntegrationTests {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Autowired OrderRepository repository;
private final static LineItem product1 = new LineItem("p1", 1.23);
diff --git a/mongodb/aggregation/src/test/java/example/springdata/mongodb/aggregation/SpringBooksIntegrationTests.java b/mongodb/aggregation/src/test/java/example/springdata/mongodb/aggregation/SpringBooksIntegrationTests.java
index 0e77fb313..b17fe31c5 100644
--- a/mongodb/aggregation/src/test/java/example/springdata/mongodb/aggregation/SpringBooksIntegrationTests.java
+++ b/mongodb/aggregation/src/test/java/example/springdata/mongodb/aggregation/SpringBooksIntegrationTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2017-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -18,6 +18,8 @@
import static org.assertj.core.api.Assertions.*;
import static org.springframework.data.mongodb.core.aggregation.Aggregation.*;
+import example.springdata.mongodb.util.MongoContainers;
+
import java.nio.charset.StandardCharsets;
import java.util.List;
@@ -37,6 +39,12 @@
import org.springframework.data.mongodb.core.aggregation.BucketAutoOperation.Granularities;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* Examples for Spring Books using the MongoDB Aggregation Framework. Data originates from Google's Book search.
@@ -47,9 +55,18 @@
* "https://www.googleapis.com/books/v1/volumes?q=intitle:spring+framework">https://www.googleapis.com/books/v1/volumes?q=intitle:spring+framework
* @see finder = operations.query(User.class);
+ return finder.matching(filterQuery).exists();
+ }
+
+ public List findJustUsernameBy() {
+
+ BasicQuery filterQuery = new BasicQuery(new Document());
+ Document fields = parse("{ 'username' : 1 }");
+ filterQuery.setFieldsObject(fields);
+ Document sort = parse("{ 'username' : -1 }");
+ filterQuery.setSortObject(sort);
+
+ ExecutableFindOperation.FindWithQuery finder = operations.query(User.class);
+ return finder.matching(filterQuery).all();
+ }
+}
+----
+
+== Metadata
+
+**`UserRepository.json`**
+
+Excerpt from: `target/spring-aot/main/resources/example/springdata/aot/UserRepository.json`
+
+[source,json]
+----
+{
+ "name": "example.springdata.aot.UserRepository",
+ "module": "MongoDB",
+ "type": "IMPERATIVE",
+ "methods": [
+ {
+ "name": "countUsersByLastnameLike",
+ "signature": "public abstract java.lang.Long example.springdata.aot.UserRepository.countUsersByLastnameLike(java.lang.String)",
+ "query": {
+ "filter": "{\"lastname\": ?0}"
+ }
+ },
+ {
+ "name": "save",
+ "signature": "org.springframework.data.mongodb.repository.support.SimpleMongoRepository",
+ "fragment": {
+ "interface": "org.springframework.data.mongodb.repository.support.SimpleMongoRepository",
+ "fragment": "org.springframework.data.mongodb.repository.support.SimpleMongoRepository"
+ }
+ }
+ ]
+}
+----
diff --git a/mongodb/aot-optimization/pom.xml b/mongodb/aot-optimization/pom.xml
new file mode 100644
index 000000000..14a1b01ac
--- /dev/null
+++ b/mongodb/aot-optimization/pom.xml
@@ -0,0 +1,36 @@
+
+
+ 4.0.0
+
+
+ org.springframework.data.examples
+ spring-data-mongodb-examples
+ 4.0.0-SNAPSHOT
+
+
+ org.example
+ spring-data-mongodb-aot-optimization
+ Spring Data MongoDB - AOT Optimization Example
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ process-aot
+
+ process-aot
+
+
+
+
+
+
+
+
+
diff --git a/geode/security/src/main/java/example/springdata/geode/client/security/server/ApacheShiroIniConfiguration.java b/mongodb/aot-optimization/src/main/java/example/springdata/aot/App.java
similarity index 55%
rename from geode/security/src/main/java/example/springdata/geode/client/security/server/ApacheShiroIniConfiguration.java
rename to mongodb/aot-optimization/src/main/java/example/springdata/aot/App.java
index 9cc87f267..1f3c478af 100644
--- a/geode/security/src/main/java/example/springdata/geode/client/security/server/ApacheShiroIniConfiguration.java
+++ b/mongodb/aot-optimization/src/main/java/example/springdata/aot/App.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,13 +13,18 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.geode.client.security.server;
+package example.springdata.aot;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Profile;
-import org.springframework.data.gemfire.config.annotation.EnableSecurity;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
-@Configuration
-@EnableSecurity(shiroIniResourcePath = "shiro.ini")
-@Profile("shiro-ini-configuration")
-public class ApacheShiroIniConfiguration {}
+/**
+ * @author Christoph Strobl
+ */
+@SpringBootApplication
+public class App {
+
+ public static void main(String[] args) {
+ SpringApplication.run(App.class, args);
+ }
+}
diff --git a/mongodb/aot-optimization/src/main/java/example/springdata/aot/CLR.java b/mongodb/aot-optimization/src/main/java/example/springdata/aot/CLR.java
new file mode 100644
index 000000000..b374b41b7
--- /dev/null
+++ b/mongodb/aot-optimization/src/main/java/example/springdata/aot/CLR.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.aot;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author Christoph Strobl
+ * @since 2025/01
+ */
+@Component
+public class CLR implements CommandLineRunner {
+
+ @Autowired UserRepository repository;
+
+ @Override
+ public void run(String... args) throws Exception {
+
+ User luke = new User("id-1", "luke");
+ luke.setFirstname("Luke");
+ luke.setLastname("Skywalker");
+ luke.setPosts(List.of(new Post("I have a bad feeling about this.")));
+
+ User leia = new User("id-2", "leia");
+ leia.setFirstname("Leia");
+ leia.setLastname("Organa");
+
+ User han = new User("id-3", "han");
+ han.setFirstname("Han");
+ han.setLastname("Solo");
+ han.setPosts(List.of(new Post("It's the ship that made the Kessel Run in less than 12 Parsecs.")));
+
+ User chewbacca = new User("id-4", "chewbacca");
+ User yoda = new User("id-5", "yoda");
+ yoda.setPosts(List.of(new Post("Do. Or do not. There is no try."), new Post("Decide you must, how to serve them best. If you leave now, help them you could; but you would destroy all for which they have fought, and suffered.")));
+
+ User vader = new User("id-6", "vader");
+ vader.setFirstname("Anakin");
+ vader.setLastname("Skywalker");
+ vader.setPosts(List.of(new Post("I am your father")));
+
+ User kylo = new User("id-7", "kylo");
+ kylo.setFirstname("Ben");
+ kylo.setLastname("Solo");
+
+ repository.saveAll(List.of(luke, leia, han, chewbacca, yoda, vader, kylo));
+
+ repository.usersWithUsernamesStartingWith("l");
+
+ repository.findUserByUsername("yoda");
+
+ repository.findUserByPostsMessageLike("father");
+
+ repository.findOptionalUserByUsername("yoda");
+
+ Long count = repository.countUsersByLastnameLike("Sky");
+
+ Boolean exists = repository.existsByUsername("vader");
+ repository.findUserByLastnameLike("Sky");
+
+ }
+}
diff --git a/mongodb/aot-optimization/src/main/java/example/springdata/aot/Post.java b/mongodb/aot-optimization/src/main/java/example/springdata/aot/Post.java
new file mode 100644
index 000000000..10f5068ba
--- /dev/null
+++ b/mongodb/aot-optimization/src/main/java/example/springdata/aot/Post.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.aot;
+
+import java.time.Instant;
+import java.time.temporal.ChronoUnit;
+import java.util.Random;
+
+/**
+ * @author Christoph Strobl
+ * @since 2025/01
+ */
+public class Post {
+
+ private String message;
+ private Instant date;
+
+ public Post(String message) {
+ this.message = message;
+ this.date = Instant.now().minus(new Random().nextLong(100), ChronoUnit.MINUTES);
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public Instant getDate() {
+ return date;
+ }
+
+ public void setDate(Instant date) {
+ this.date = date;
+ }
+
+ @Override
+ public String toString() {
+ return message;
+ }
+}
diff --git a/mongodb/aot-optimization/src/main/java/example/springdata/aot/User.java b/mongodb/aot-optimization/src/main/java/example/springdata/aot/User.java
new file mode 100644
index 000000000..56317490e
--- /dev/null
+++ b/mongodb/aot-optimization/src/main/java/example/springdata/aot/User.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.aot;
+
+import java.time.Instant;
+import java.util.List;
+
+import org.springframework.data.mongodb.core.mapping.Field;
+
+/**
+ * @author Christoph Strobl
+ * @since 2025/01
+ */
+public class User {
+
+ private final String id;
+ private final String username;
+
+ @Field("first_name") String firstname;
+ @Field("last_name") String lastname;
+
+ private List posts;
+
+ Instant registrationDate;
+ Instant lastSeen;
+
+ public User(String id, String username) {
+ this.id = id;
+ this.username = username;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public String getFirstname() {
+ return firstname;
+ }
+
+ public void setFirstname(String firstname) {
+ this.firstname = firstname;
+ }
+
+ public String getLastname() {
+ return lastname;
+ }
+
+ public void setLastname(String lastname) {
+ this.lastname = lastname;
+ }
+
+ public Instant getRegistrationDate() {
+ return registrationDate;
+ }
+
+ public void setRegistrationDate(Instant registrationDate) {
+ this.registrationDate = registrationDate;
+ }
+
+ public Instant getLastSeen() {
+ return lastSeen;
+ }
+
+ public void setLastSeen(Instant lastSeen) {
+ this.lastSeen = lastSeen;
+ }
+
+ public List getPosts() {
+ return posts;
+ }
+
+ public void setPosts(List posts) {
+ this.posts = posts;
+ }
+
+ @Override
+ public String toString() {
+ return "User{" +
+ "id='" + id + '\'' +
+ ", username='" + username + '\'' +
+ ", firstname='" + firstname + '\'' +
+ ", lastname='" + lastname + '\'' +
+ ", registrationDate=" + registrationDate +
+ ", lastSeen=" + lastSeen +
+ ", posts=" + posts +
+ '}';
+ }
+}
diff --git a/mongodb/aot-optimization/src/main/java/example/springdata/aot/UserProjection.java b/mongodb/aot-optimization/src/main/java/example/springdata/aot/UserProjection.java
new file mode 100644
index 000000000..d243ba3a8
--- /dev/null
+++ b/mongodb/aot-optimization/src/main/java/example/springdata/aot/UserProjection.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.aot;
+
+import java.time.Instant;
+
+/**
+ * @author Christoph Strobl
+ * @since 2025/01
+ */
+public interface UserProjection {
+
+ String getUsername();
+ Instant getRegistrationDate();
+}
diff --git a/mongodb/aot-optimization/src/main/java/example/springdata/aot/UserRepository.java b/mongodb/aot-optimization/src/main/java/example/springdata/aot/UserRepository.java
new file mode 100644
index 000000000..6a935551e
--- /dev/null
+++ b/mongodb/aot-optimization/src/main/java/example/springdata/aot/UserRepository.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.aot;
+
+import java.util.List;
+import java.util.Optional;
+
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Slice;
+import org.springframework.data.mongodb.repository.Query;
+import org.springframework.data.repository.CrudRepository;
+
+/**
+ * @author Christoph Strobl
+ * @since 2025/01
+ */
+public interface UserRepository extends CrudRepository {
+
+ User findUserByUsername(String username);
+
+ Optional findOptionalUserByUsername(String username);
+
+ Long countUsersByLastnameLike(String lastname);
+
+ Boolean existsByUsername(String username);
+
+ List findUserByLastnameLike(String lastname);
+
+ List findUserByPostsMessageLike(String part);
+
+ List findUserByLastnameLikeOrderByFirstname(String lastname);
+
+ List findTop2UsersByLastnameLike(String lastname);
+
+ Slice findUserByUsernameAfter(String username, Pageable pageable);
+
+ Page findUserByLastnameStartingWith(String lastname, Pageable page);
+
+ @Query("{ 'username' : { $regex: '?0.*', $options: 'i' } }")
+ List usersWithUsernamesStartingWith(String username);
+
+ @Query(fields = "{ 'username' : 1 }", sort = "{ 'username' : -1 }")
+ List findJustUsernameBy();
+
+}
diff --git a/mongodb/aot-optimization/src/main/resources/application.properties b/mongodb/aot-optimization/src/main/resources/application.properties
new file mode 100644
index 000000000..e69de29bb
diff --git a/mongodb/aot-optimization/src/main/resources/logback.xml b/mongodb/aot-optimization/src/main/resources/logback.xml
new file mode 100644
index 000000000..e5c7183e0
--- /dev/null
+++ b/mongodb/aot-optimization/src/main/resources/logback.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+ %d %5p %40.40c:%4L - %m%n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mongodb/change-streams/pom.xml b/mongodb/change-streams/pom.xml
index 0f6b41b8f..713c8065e 100644
--- a/mongodb/change-streams/pom.xml
+++ b/mongodb/change-streams/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data.examplesspring-data-mongodb-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-mongodb-change-streams
diff --git a/mongodb/change-streams/src/main/java/example/springdata/mongodb/Person.java b/mongodb/change-streams/src/main/java/example/springdata/mongodb/Person.java
index 6d2ce3efd..f7e2a3d1f 100644
--- a/mongodb/change-streams/src/main/java/example/springdata/mongodb/Person.java
+++ b/mongodb/change-streams/src/main/java/example/springdata/mongodb/Person.java
@@ -29,7 +29,5 @@
* @author Christoph Strobl
*/
record Person(@Id ObjectId id, @Field("first_name") String firstname, @Field("last_name") String lastname, int age) {
- public Person(String firstname, String lastname, int age) {
- this(null, firstname, lastname, age);
- }
+
}
diff --git a/mongodb/change-streams/src/test/java/example/springdata/mongodb/ChangeStreamsTests.java b/mongodb/change-streams/src/test/java/example/springdata/mongodb/ChangeStreamsTests.java
index 19f58fe3d..8c627e31c 100644
--- a/mongodb/change-streams/src/test/java/example/springdata/mongodb/ChangeStreamsTests.java
+++ b/mongodb/change-streams/src/test/java/example/springdata/mongodb/ChangeStreamsTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2018-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -21,20 +21,20 @@
import static org.springframework.data.mongodb.core.query.Query.*;
import static org.springframework.data.mongodb.core.query.Update.*;
-import example.springdata.mongodb.util.EmbeddedMongo;
-import reactor.test.StepVerifier;
-
import java.time.Duration;
+import com.mongodb.client.MongoClient;
+import com.mongodb.client.model.changestream.ChangeStreamDocument;
+import com.mongodb.reactivestreams.client.MongoClients;
+import example.springdata.mongodb.util.MongoContainers;
+import org.assertj.core.api.Assertions;
import org.bson.Document;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
+import org.bson.types.ObjectId;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.core.ChangeStreamOptions;
@@ -46,11 +46,13 @@
import org.springframework.data.mongodb.core.messaging.DefaultMessageListenerContainer;
import org.springframework.data.mongodb.core.messaging.Message;
import org.springframework.data.mongodb.core.messaging.MessageListenerContainer;
-import org.springframework.test.context.junit4.SpringRunner;
-
-import com.mongodb.client.MongoClient;
-import com.mongodb.client.model.changestream.ChangeStreamDocument;
-import com.mongodb.reactivestreams.client.MongoClients;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
+import org.testcontainers.mongodb.MongoDBContainer;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import reactor.test.StepVerifier;
/**
* A simple Test demonstrating required {@link Configuration} for consumption of MongoDB
@@ -60,11 +62,18 @@
* @author Christoph Strobl
* @author Mark Paluch
*/
-@RunWith(SpringRunner.class)
+@Testcontainers
+@ExtendWith(SpringExtension.class)
@DataMongoTest
public class ChangeStreamsTests {
- public static @ClassRule EmbeddedMongo replSet = EmbeddedMongo.replSet().configure();
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
@Autowired MessageListenerContainer container; // for imperative style
@@ -72,14 +81,14 @@ public class ChangeStreamsTests {
@Autowired ReactiveMongoOperations reactiveTemplate; // for reactive style
- Person gabriel = new Person("Gabriel", "Lorca", 30);
- Person michael = new Person("Michael", "Burnham", 30);
- Person ash = new Person("Ash", "Tyler", 35);
+ Person gabriel = new Person(new ObjectId(), "Gabriel", "Lorca", 30);
+ Person michael = new Person(new ObjectId(), "Michael", "Burnham", 30);
+ Person ash = new Person(new ObjectId(), "Ash", "Tyler", 35);
/**
* Configuration? Yes we need a bit of it - Do not worry, it won't be much!
*/
- @SpringBootApplication(exclude = EmbeddedMongoAutoConfiguration.class)
+ @SpringBootApplication()
static class Config {
/**
@@ -90,7 +99,7 @@ static class Config {
*/
@Bean
MongoClient mongoClient() {
- return replSet.getMongoClient();
+ return com.mongodb.client.MongoClients.create(mongoDBContainer.getReplicaSetUrl());
}
/**
@@ -100,7 +109,7 @@ MongoClient mongoClient() {
*/
@Bean
SimpleMongoClientDatabaseFactory mongoDbFactory() {
- return new SimpleMongoClientDatabaseFactory(replSet.getMongoClient(), "changestreams");
+ return new SimpleMongoClientDatabaseFactory(mongoClient(), "changestreams");
}
/**
@@ -110,7 +119,7 @@ SimpleMongoClientDatabaseFactory mongoDbFactory() {
*/
@Bean
SimpleReactiveMongoDatabaseFactory reactiveMongoDatabaseFactory() {
- return new SimpleReactiveMongoDatabaseFactory(MongoClients.create(replSet.getConnectionString()),
+ return new SimpleReactiveMongoDatabaseFactory(MongoClients.create(mongoDBContainer.getReplicaSetUrl()),
"changestreams");
}
@@ -118,7 +127,7 @@ SimpleReactiveMongoDatabaseFactory reactiveMongoDatabaseFactory() {
* Since listening to a Change Stream using the sync
* MongoDB Java Driver is a blocking class, we need to move load to another {@link Thread} by simply using a
* {@link MessageListenerContainer}.
- *
+ *
* As this is a {@link org.springframework.context.SmartLifecycle smart lifecycle component} we do actually not need
* to worry about its lifecycle, the resource allocation and freeing.
*
@@ -191,28 +200,31 @@ public void reactiveChangeEvents() {
ChangeStreamOptions.builder().filter(newAggregation(match(where("operationType").is("insert")))).build(),
Person.class);
- StepVerifier.create(changeStream) //
+ changeStream.as(StepVerifier::create) //
.expectSubscription() //
.expectNoEvent(Duration.ofMillis(200)) // wait till change streams becomes active
// Save documents and await their change events
.then(() -> {
- StepVerifier.create(reactiveTemplate.save(gabriel)).expectNextCount(1).verifyComplete();
- StepVerifier.create(reactiveTemplate.save(ash)).expectNextCount(1).verifyComplete();
+ reactiveTemplate.save(gabriel).as(StepVerifier::create).expectNextCount(1).verifyComplete();
+ reactiveTemplate.save(ash).as(StepVerifier::create).expectNextCount(1).verifyComplete();
}).expectNextCount(2) //
// Update a document
.then(() -> {
- StepVerifier.create(reactiveTemplate.update(Person.class) //
+ reactiveTemplate.update(Person.class) //
.matching(query(where("id").is(ash.id()))) //
.apply(update("age", 40)) //
- .first()).expectNextCount(1).verifyComplete();
+ .first() //
+ .as(StepVerifier::create) //
+ .expectNextCount(1) //
+ .verifyComplete();
}).expectNoEvent(Duration.ofMillis(200)) // updates are skipped
// Save another document and await its change event
.then(() -> {
- StepVerifier.create(reactiveTemplate.save(michael)).expectNextCount(1).verifyComplete();
+ reactiveTemplate.save(michael).as(StepVerifier::create).expectNextCount(1).verifyComplete();
}).expectNextCount(1) // there we go, all events received.
.thenCancel() // change streams are infinite streams, at some point we need to unsubscribe
diff --git a/mongodb/example/README.md b/mongodb/example/README.md
index 7447a93b8..0287fef1d 100644
--- a/mongodb/example/README.md
+++ b/mongodb/example/README.md
@@ -2,9 +2,10 @@
This project contains examples for:
-* Derived finder and geo spatial queries using a `Repository` interface.
+* Derived query method and geospatial queries using a `Repository` interface.
+* Usage of property-specific converters.
* `EntityCallback` API usage for before convert/save interaction.
-* Result projections for DTOs and interface types.
-* Query metadata.
+* Result projections for DTOs and interface types.
+* Query metadata.
* Unwrapping entities into the parent document.
diff --git a/mongodb/example/pom.xml b/mongodb/example/pom.xml
index ac31ff434..eb726f68d 100644
--- a/mongodb/example/pom.xml
+++ b/mongodb/example/pom.xml
@@ -2,16 +2,15 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0%20https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- spring-data-mongodb-example
-
- Spring Data MongoDB - Example
-
org.springframework.data.examplesspring-data-mongodb-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
+ spring-data-mongodb-example
+ Spring Data MongoDB - Example
+
@@ -33,7 +32,9 @@
target/generated-sources/queries
- org.springframework.data.mongodb.repository.support.MongoAnnotationProcessor
+
+ org.springframework.data.mongodb.repository.support.MongoAnnotationProcessor
+ true
@@ -43,4 +44,16 @@
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+
+
+ org.springframework.data.examples
+ spring-data-mongodb-example-utils
+ test
+
+
+
diff --git a/mongodb/example/src/main/java/example/springdata/mongodb/advanced/ApplicationConfiguration.java b/mongodb/example/src/main/java/example/springdata/mongodb/advanced/ApplicationConfiguration.java
index 22834dd91..578e13a2e 100644
--- a/mongodb/example/src/main/java/example/springdata/mongodb/advanced/ApplicationConfiguration.java
+++ b/mongodb/example/src/main/java/example/springdata/mongodb/advanced/ApplicationConfiguration.java
@@ -15,8 +15,8 @@
*/
package example.springdata.mongodb.advanced;
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/mongodb/example/src/main/java/example/springdata/mongodb/converters/Address.java b/mongodb/example/src/main/java/example/springdata/mongodb/converters/Address.java
new file mode 100644
index 000000000..af6180ccd
--- /dev/null
+++ b/mongodb/example/src/main/java/example/springdata/mongodb/converters/Address.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2014-2021 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.converters;
+
+import lombok.Data;
+import lombok.RequiredArgsConstructor;
+
+import java.util.Map;
+
+import org.springframework.data.geo.Point;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * A domain object to capture addresses.
+ *
+ * @author Mark Paluch
+ */
+@Data
+@RequiredArgsConstructor
+public class Address {
+
+ private final Point location;
+ private String street;
+ private String zipCode;
+
+ Address(@JsonProperty("location") Map location, @JsonProperty("street") String street,
+ @JsonProperty("zipCode") String zipCode) {
+
+ this.location = new Point(location.get("x"), location.get("y"));
+ this.street = street;
+ this.zipCode = zipCode;
+ }
+
+}
diff --git a/mongodb/example/src/main/java/example/springdata/mongodb/converters/AddressDocumentConverter.java b/mongodb/example/src/main/java/example/springdata/mongodb/converters/AddressDocumentConverter.java
new file mode 100644
index 000000000..e9a54489a
--- /dev/null
+++ b/mongodb/example/src/main/java/example/springdata/mongodb/converters/AddressDocumentConverter.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2022 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.converters;
+
+import org.bson.Document;
+
+import org.springframework.data.geo.Point;
+import org.springframework.data.mongodb.core.convert.MongoConversionContext;
+import org.springframework.data.mongodb.core.convert.MongoValueConverter;
+
+/**
+ * {@link MongoValueConverter} to write only the {@link Address#location} into a MongoDB {@link Document}.
+ *
+ * @author Mark Paluch
+ */
+class AddressDocumentConverter implements MongoValueConverter {
+
+ @Override
+ public Address read(Document value, MongoConversionContext context) {
+
+ Point point = new Point(context.read(value.get("x"), Double.class), context.read(value.get("y"), Double.class));
+
+ return new Address(point);
+ }
+
+ @Override
+ public Document write(Address value, MongoConversionContext context) {
+
+ Document document = new Document();
+ document.put("x", value.getLocation().getX());
+ document.put("y", value.getLocation().getY());
+
+ return document;
+ }
+}
diff --git a/mongodb/example/src/main/java/example/springdata/mongodb/converters/AddressJsonConverter.java b/mongodb/example/src/main/java/example/springdata/mongodb/converters/AddressJsonConverter.java
new file mode 100644
index 000000000..7d4d356a0
--- /dev/null
+++ b/mongodb/example/src/main/java/example/springdata/mongodb/converters/AddressJsonConverter.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2022 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.converters;
+
+import org.springframework.data.mongodb.core.convert.MongoConversionContext;
+import org.springframework.data.mongodb.core.convert.MongoValueConverter;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+/**
+ * {@link MongoValueConverter} to write {@link Address} into JSON through Jackson.
+ *
+ * @author Mark Paluch
+ */
+class AddressJsonConverter implements MongoValueConverter {
+
+ private final ObjectMapper mapper = new ObjectMapper();
+
+ @Override
+ public Address read(String value, MongoConversionContext context) {
+
+ try {
+ return mapper.readValue(value, Address.class);
+ } catch (JsonProcessingException e) {
+ throw new IllegalStateException("Cannot unmarshal Address JSON", e);
+ }
+ }
+
+ @Override
+ public String write(Address value, MongoConversionContext context) {
+ try {
+ return mapper.writeValueAsString(value);
+ } catch (JsonProcessingException e) {
+ throw new IllegalStateException("Cannot marshal Address into JSON", e);
+ }
+ }
+}
diff --git a/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/ProductRepository.java b/mongodb/example/src/main/java/example/springdata/mongodb/converters/ApplicationConfiguration.java
similarity index 67%
rename from geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/ProductRepository.java
rename to mongodb/example/src/main/java/example/springdata/mongodb/converters/ApplicationConfiguration.java
index ff0a5c4da..7197406a5 100644
--- a/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/ProductRepository.java
+++ b/mongodb/example/src/main/java/example/springdata/mongodb/converters/ApplicationConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2014-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,11 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.geode.server.expiration.eviction;
+package example.springdata.mongodb.converters;
-import org.springframework.data.repository.CrudRepository;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
- * @author Patrick Johnson
+ * Test configuration.
+ *
+ * @author Mark Paluch
*/
-public interface ProductRepository extends CrudRepository {}
+@SpringBootApplication
+class ApplicationConfiguration {
+
+}
diff --git a/mongodb/example/src/main/java/example/springdata/mongodb/converters/Customer.java b/mongodb/example/src/main/java/example/springdata/mongodb/converters/Customer.java
new file mode 100644
index 000000000..1155951f7
--- /dev/null
+++ b/mongodb/example/src/main/java/example/springdata/mongodb/converters/Customer.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2014-2021 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.converters;
+
+import lombok.Data;
+
+import org.springframework.data.convert.ValueConverter;
+import org.springframework.data.mongodb.core.mapping.Document;
+import org.springframework.util.Assert;
+
+/**
+ * An entity to represent a customer.
+ *
+ * @author Mark Paluch
+ */
+@Data
+@Document
+public class Customer {
+
+ private String id, firstname, lastname;
+
+ @ValueConverter(AddressJsonConverter.class) private Address primary;
+
+ @ValueConverter(AddressDocumentConverter.class) private Address secondary;
+
+ /**
+ * Creates a new {@link Customer} with the given firstname and lastname.
+ *
+ * @param firstname must not be {@literal null} or empty.
+ * @param lastname must not be {@literal null} or empty.
+ */
+ public Customer(String firstname, String lastname) {
+
+ Assert.hasText(firstname, "Firstname must not be null or empty!");
+ Assert.hasText(lastname, "Lastname must not be null or empty!");
+
+ this.firstname = firstname;
+ this.lastname = lastname;
+ }
+}
diff --git a/mongodb/example/src/main/java/example/springdata/mongodb/customer/CustomerRepository.java b/mongodb/example/src/main/java/example/springdata/mongodb/customer/CustomerRepository.java
index a1fd0ca6d..8a94fa5ef 100644
--- a/mongodb/example/src/main/java/example/springdata/mongodb/customer/CustomerRepository.java
+++ b/mongodb/example/src/main/java/example/springdata/mongodb/customer/CustomerRepository.java
@@ -18,6 +18,7 @@
import java.util.List;
import java.util.stream.Stream;
+import org.springframework.data.domain.Limit;
import org.springframework.data.domain.Sort;
import org.springframework.data.geo.Distance;
import org.springframework.data.geo.GeoResults;
@@ -42,7 +43,16 @@ public interface CustomerRepository extends CrudRepository {
List findByLastname(String lastname, Sort sort);
/**
- * Show case for a repository query using geo-spatial functionality.
+ * Derived query reducing result size to a given {@link Limit}.
+ *
+ * @param lastname
+ * @param maxResults the maximum number of results returned.
+ * @return
+ */
+ List findByLastname(String lastname, Limit maxResults);
+
+ /**
+ * Showcase for a repository query using geospatial functionality.
*
* @param point
* @param distance
diff --git a/mongodb/example/src/main/java/example/springdata/mongodb/immutable/ApplicationConfiguration.java b/mongodb/example/src/main/java/example/springdata/mongodb/immutable/ApplicationConfiguration.java
index 583e9cb29..27dffa5bc 100644
--- a/mongodb/example/src/main/java/example/springdata/mongodb/immutable/ApplicationConfiguration.java
+++ b/mongodb/example/src/main/java/example/springdata/mongodb/immutable/ApplicationConfiguration.java
@@ -45,7 +45,7 @@ BeforeConvertCallback beforeConvertCallback() {
var randomNumber = ThreadLocalRandom.current().nextInt(1, 100);
- // withRandomNumber is a so called wither method returning a new instance of the entity with a new value assigned
+ // withRandomNumber is a so-called wither method returning a new instance of the entity with a new value assigned
return immutablePerson.withRandomNumber(randomNumber);
};
}
diff --git a/mongodb/example/src/test/java/example/springdata/mongodb/advanced/AdvancedIntegrationTests.java b/mongodb/example/src/test/java/example/springdata/mongodb/advanced/AdvancedIntegrationTests.java
index 1778da617..969eeff61 100644
--- a/mongodb/example/src/test/java/example/springdata/mongodb/advanced/AdvancedIntegrationTests.java
+++ b/mongodb/example/src/test/java/example/springdata/mongodb/advanced/AdvancedIntegrationTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2014-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -18,17 +18,23 @@
import static org.assertj.core.api.Assertions.*;
import example.springdata.mongodb.customer.Customer;
+import example.springdata.mongodb.util.MongoContainers;
import org.bson.Document;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
-import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.data.mongodb.core.query.Meta;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
import com.mongodb.BasicDBObject;
@@ -36,9 +42,18 @@
* @author Christoph Strobl
* @author Oliver Gierke
*/
+@Testcontainers
@DataMongoTest
class AdvancedIntegrationTests {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Autowired AdvancedRepository repository;
@Autowired MongoOperations operations;
diff --git a/mongodb/example/src/test/java/example/springdata/mongodb/advanced/ServersideScriptTests.java b/mongodb/example/src/test/java/example/springdata/mongodb/advanced/ServersideScriptTests.java
deleted file mode 100644
index 104999f9d..000000000
--- a/mongodb/example/src/test/java/example/springdata/mongodb/advanced/ServersideScriptTests.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright 2015-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.mongodb.advanced;
-
-import static org.assertj.core.api.Assertions.*;
-
-import example.springdata.mongodb.customer.Customer;
-
-import java.util.Map;
-
-import org.bson.Document;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Test;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.data.mongodb.core.MongoOperations;
-import org.springframework.data.mongodb.core.script.ExecutableMongoScript;
-import org.springframework.data.mongodb.core.script.NamedMongoScript;
-
-/**
- * @author Christoph Strobl
- * @author Oliver Gierke
- */
-@DataMongoTest
-class ServersideScriptTests {
-
- @Autowired AdvancedRepository repository;
- @Autowired MongoOperations operations;
-
- @BeforeEach
- void setUp() {
-
- if (!operations.collectionExists(Customer.class)) {
- operations.createCollection(Customer.class);
- }
-
- // just make sure we remove everything properly
- operations.getCollection("system.js").deleteMany(new Document());
- repository.deleteAll();
- }
-
- /**
- * Store and call an arbitrary JavaScript function (in this case a simple echo script) via its name.
- */
- @Test
- void saveAndCallScriptViaName() {
-
- operations.scriptOps()
- .register(new NamedMongoScript("echoScript", new ExecutableMongoScript("function(x) { return x; }")));
-
- assertThat(operations.scriptOps().call("echoScript", "Hello echo...!")).isEqualTo("Hello echo...!");
- }
-
- /**
- * Use a script execution to create an atomic put-if-absent operation that fulfills the contract of
- * {@link Map#putIfAbsent(Object, Object)}
- */
- @Test
- @Disabled
- void complexScriptExecutionSimulatingPutIfAbsent() {
-
- var ned = new Customer("Ned", "Stark");
- ned.setId("ned-stark");
-
- // #1: on first insert null has to be returned
- assertThat(operations.scriptOps().execute(createExecutablePutIfAbsentScript(ned))).isNotNull();
-
- // #2: change the firstname and put the object again, we expect a return value.
- ned.setFirstname("Eddard");
- assertThat(operations.scriptOps().execute(createExecutablePutIfAbsentScript(ned))).isNotNull();
-
- // #3: make sure the entity has not been altered by #2
- assertThat(repository.findById(ned.getId()))
- .hasValueSatisfying(it -> assertThat(it.getFirstname()).isEqualTo("Ned"));
- assertThat(repository.count()).isEqualTo(1L);
- }
-
- private ExecutableMongoScript createExecutablePutIfAbsentScript(Customer customer) {
-
- var collectionName = operations.getCollectionName(Customer.class);
- var id = operations.getConverter().getMappingContext().getRequiredPersistentEntity(Customer.class)
- .getIdentifierAccessor(customer).getIdentifier();
-
- var document = new Document();
- operations.getConverter().write(customer, document);
-
- var scriptString = String.format(
- "object = db.%1$s.findOne({\"_id\": \"%2$s\"}); if (object == null) { db.%1s.insert(%3$s); return null; } else { return object; }",
- collectionName, id, document);
-
- return new ExecutableMongoScript(scriptString);
- }
-}
diff --git a/mongodb/example/src/test/java/example/springdata/mongodb/converters/CustomerIntegrationTests.java b/mongodb/example/src/test/java/example/springdata/mongodb/converters/CustomerIntegrationTests.java
new file mode 100644
index 000000000..487997d93
--- /dev/null
+++ b/mongodb/example/src/test/java/example/springdata/mongodb/converters/CustomerIntegrationTests.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.converters;
+
+import static org.assertj.core.api.Assertions.*;
+
+import example.springdata.mongodb.util.MongoContainers;
+
+import org.bson.Document;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
+import org.springframework.data.geo.Point;
+import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
+
+/**
+ * Integration tests for {@link Customer} conversions.
+ *
+ * @author Mark Paluch
+ */
+@Testcontainers
+@DataMongoTest
+class CustomerIntegrationTests {
+
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
+ @Autowired MongoOperations operations;
+
+ @BeforeEach
+ void setUp() {
+ operations.remove(Customer.class).all();
+ }
+
+ /**
+ * Applies {@link org.springframework.data.mongodb.core.convert.MongoValueConverter} to individual properties.
+ * {@code primary} and {@code secondary} are configured with different converters of which the first one uses JSON
+ * conversion and the second converter interacts directly with a MongoDB {@link Document}.
+ */
+ @Test
+ void appliesConverters() {
+
+ var primaryAddress = new Address(new Point(4.1, 5.6));
+ primaryAddress.setStreet("308 Negra Arroyo Lane");
+ primaryAddress.setZipCode("87104");
+
+ var secondaryAddress = new Address(new Point(6.1, 7.6));
+ secondaryAddress.setStreet("3828 Piermont Drive");
+ secondaryAddress.setZipCode("87111");
+
+ var customer = new Customer("Walter", "White");
+ customer.setPrimary(primaryAddress);
+ customer.setSecondary(secondaryAddress);
+
+ operations.insert(customer);
+
+ Document document = operations.findOne(new Query(), Document.class, "customer");
+
+ assertThat(document.get("primary"))
+ .isEqualTo("{\"location\":{\"x\":4.1,\"y\":5.6},\"street\":\"308 Negra Arroyo Lane\",\"zipCode\":\"87104\"}");
+ assertThat(document.get("secondary")).isEqualTo(
+ new Document("x", secondaryAddress.getLocation().getX()).append("y", secondaryAddress.getLocation().getY()));
+
+ Customer loadedCustomer = operations.findOne(new Query(), Customer.class, "customer");
+
+ // Primary address marshalled as JSON
+ assertThat(loadedCustomer.getPrimary()).isNotNull();
+ assertThat(loadedCustomer.getPrimary().getStreet()).isEqualTo(primaryAddress.getStreet());
+ assertThat(loadedCustomer.getPrimary().getZipCode()).isEqualTo(primaryAddress.getZipCode());
+ assertThat(loadedCustomer.getPrimary().getLocation()).isEqualTo(primaryAddress.getLocation());
+
+ // Secondary address stores only location as the converter considers only points
+ assertThat(loadedCustomer.getSecondary()).isNotNull();
+ assertThat(loadedCustomer.getSecondary().getStreet()).isNull();
+ assertThat(loadedCustomer.getSecondary().getLocation()).isEqualTo(secondaryAddress.getLocation());
+
+ }
+}
diff --git a/mongodb/example/src/test/java/example/springdata/mongodb/converters/package-info.java b/mongodb/example/src/test/java/example/springdata/mongodb/converters/package-info.java
new file mode 100644
index 000000000..f2c107aa4
--- /dev/null
+++ b/mongodb/example/src/test/java/example/springdata/mongodb/converters/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * Package showing converter usage with MongoDB entities.
+ */
+package example.springdata.mongodb.converters;
diff --git a/mongodb/example/src/test/java/example/springdata/mongodb/customer/CustomerRepositoryIntegrationTest.java b/mongodb/example/src/test/java/example/springdata/mongodb/customer/CustomerRepositoryIntegrationTest.java
index c0f04b630..e23a8834d 100644
--- a/mongodb/example/src/test/java/example/springdata/mongodb/customer/CustomerRepositoryIntegrationTest.java
+++ b/mongodb/example/src/test/java/example/springdata/mongodb/customer/CustomerRepositoryIntegrationTest.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2014-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -18,28 +18,46 @@
import static org.assertj.core.api.Assertions.*;
import static org.assertj.core.data.Offset.offset;
+import example.springdata.mongodb.util.MongoContainers;
+
import java.util.stream.Stream;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
+import org.springframework.data.domain.Limit;
import org.springframework.data.geo.Distance;
import org.springframework.data.geo.Metrics;
import org.springframework.data.geo.Point;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.data.mongodb.core.index.GeospatialIndex;
import org.springframework.data.querydsl.QSort;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* Integration test for {@link CustomerRepository}.
*
* @author Oliver Gierke
*/
+@Testcontainers
@DataMongoTest
class CustomerRepositoryIntegrationTest {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Autowired CustomerRepository repository;
@Autowired MongoOperations operations;
@@ -79,6 +97,17 @@ void findCustomersUsingQuerydslSort() {
assertThat(result.get(1)).isEqualTo(oliver);
}
+ /**
+ * Test case to show how to reduce result size with dynamic {@link Limit}.
+ */
+ @Test
+ void limitResultSize() {
+
+ var result = repository.findByLastname("Matthews", Limit.of(1));
+
+ assertThat(result).hasSize(1);
+ }
+
/**
* Test case to show the usage of Java {@link Stream}.
*/
@@ -91,7 +120,7 @@ void findCustomersAsStream() {
}
/**
- * Test case to show the usage of the geo-spatial APIs to lookup people within a given distance of a reference point.
+ * Test case to show the usage of the geospatial APIs to lookup people within a given distance of a reference point.
*/
@Test
void exposesGeoSpatialFunctionality() {
diff --git a/mongodb/example/src/test/java/example/springdata/mongodb/immutable/ImmutableEntityIntegrationTest.java b/mongodb/example/src/test/java/example/springdata/mongodb/immutable/ImmutableEntityIntegrationTest.java
index 163ad62c9..327d8008b 100644
--- a/mongodb/example/src/test/java/example/springdata/mongodb/immutable/ImmutableEntityIntegrationTest.java
+++ b/mongodb/example/src/test/java/example/springdata/mongodb/immutable/ImmutableEntityIntegrationTest.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2019-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -17,13 +17,20 @@
import static org.assertj.core.api.Assertions.*;
+import example.springdata.mongodb.util.MongoContainers;
+
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
-import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* Integration test for {@link ImmutablePerson} showing features around immutable object support.
@@ -31,9 +38,18 @@
* @author Mark Paluch
* @author Christoph Strobl
*/
+@Testcontainers
@DataMongoTest
class ImmutableEntityIntegrationTest {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Autowired MongoOperations operations;
@BeforeEach
diff --git a/mongodb/example/src/test/java/example/springdata/mongodb/projections/CustomerRepositoryIntegrationTest.java b/mongodb/example/src/test/java/example/springdata/mongodb/projections/CustomerRepositoryIntegrationTest.java
index e0fb3765a..273fb2bbb 100644
--- a/mongodb/example/src/test/java/example/springdata/mongodb/projections/CustomerRepositoryIntegrationTest.java
+++ b/mongodb/example/src/test/java/example/springdata/mongodb/projections/CustomerRepositoryIntegrationTest.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2015-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -17,26 +17,43 @@
import static org.assertj.core.api.Assertions.*;
+import example.springdata.mongodb.util.MongoContainers;
+
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.data.projection.TargetAware;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* Integration tests for {@link CustomerRepository} to show projection capabilities.
*
* @author Oliver Gierke
*/
+@Testcontainers
@DataMongoTest
class CustomerRepositoryIntegrationTest {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Configuration
@EnableAutoConfiguration
static class Config {}
diff --git a/mongodb/example/src/test/java/example/springdata/mongodb/unwrapping/UnwrappingIntegrationTests.java b/mongodb/example/src/test/java/example/springdata/mongodb/unwrapping/UnwrappingIntegrationTests.java
index 3764e65c9..8fdeb8ead 100644
--- a/mongodb/example/src/test/java/example/springdata/mongodb/unwrapping/UnwrappingIntegrationTests.java
+++ b/mongodb/example/src/test/java/example/springdata/mongodb/unwrapping/UnwrappingIntegrationTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2021-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -17,6 +17,8 @@
import static org.assertj.core.api.Assertions.*;
+import example.springdata.mongodb.util.MongoContainers;
+
import java.util.Arrays;
import org.bson.Document;
@@ -24,8 +26,14 @@
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
import com.mongodb.client.model.Filters;
@@ -34,9 +42,18 @@
*
* @author Christoph Strobl
*/
+@Testcontainers
@DataMongoTest
class UnwrappingIntegrationTests {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Autowired UserRepository repository;
@Autowired MongoOperations operations;
diff --git a/mongodb/example/src/test/resources/application.properties b/mongodb/example/src/test/resources/application.properties
deleted file mode 100644
index c59a689bc..000000000
--- a/mongodb/example/src/test/resources/application.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-# Random port for embedded MongoDB
-spring.data.mongodb.port=0
diff --git a/mongodb/fluent-api/README.md b/mongodb/fluent-api/README.md
index 274bc382e..45fdd5a81 100644
--- a/mongodb/fluent-api/README.md
+++ b/mongodb/fluent-api/README.md
@@ -31,7 +31,7 @@ mongoOps.query(SWCharacter.class)
```
-Different stages in the command essembly process allow to seamlessly switch to different API paths. Using `near` instead of `matching` switches to the path for geo queries requireing the presence of a `NearQuery` while altering the command result type from `List` to `GeoResults` and limiting terminating operations to just `all()`.
+Different stages in the command assembly process allow to seamlessly switch to different API paths. Using `near` instead of `matching` switches to the path for geo queries requiring the presence of a `NearQuery` while altering the command result type from `List` to `GeoResults` and limiting terminating operations to just `all()`.
```java
diff --git a/mongodb/fluent-api/pom.xml b/mongodb/fluent-api/pom.xml
index b8ca6dd4a..303f6693d 100644
--- a/mongodb/fluent-api/pom.xml
+++ b/mongodb/fluent-api/pom.xml
@@ -2,14 +2,24 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0%20https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- spring-data-mongodb-fluent-api
-
- Spring Data MongoDB - Fluent API Exampleorg.springframework.data.examplesspring-data-mongodb-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
+ spring-data-mongodb-fluent-api
+ Spring Data MongoDB - Fluent API Example
+
+
+
+
+ org.springframework.data.examples
+ spring-data-mongodb-example-utils
+ test
+
+
+
+
diff --git a/mongodb/fluent-api/src/test/java/example/springdata/mongodb/fluent/FluentMongoApiTests.java b/mongodb/fluent-api/src/test/java/example/springdata/mongodb/fluent/FluentMongoApiTests.java
index 709e4dc32..d4f88af3f 100644
--- a/mongodb/fluent-api/src/test/java/example/springdata/mongodb/fluent/FluentMongoApiTests.java
+++ b/mongodb/fluent-api/src/test/java/example/springdata/mongodb/fluent/FluentMongoApiTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2017-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -21,13 +21,15 @@
import static org.springframework.data.mongodb.core.query.Query.*;
import static org.springframework.data.mongodb.core.query.Update.*;
+import example.springdata.mongodb.util.MongoContainers;
+
import java.util.List;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.dao.IncorrectResultSizeDataAccessException;
import org.springframework.data.geo.Distance;
import org.springframework.data.geo.GeoResults;
@@ -35,6 +37,12 @@
import org.springframework.data.mongodb.core.FluentMongoOperations;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.data.mongodb.core.query.NearQuery;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* Some tests showing usage and capabilities of {@link FluentMongoOperations}.
@@ -50,9 +58,18 @@
*
* @author Christoph Strobl
*/
+@Testcontainers
@DataMongoTest
class FluentMongoApiTests {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Autowired FluentMongoOperations mongoOps;
/**
@@ -107,7 +124,7 @@ void usePredefinedFinder() {
@Test
void fetchInterfaceProjection() {
- var anakin = mongoOps.query(SWCharacter.class) // SWCharacter does only define the collection, id and name
+ var anakin = mongoOps.query(Jedi.class) // SWCharacter does only define the collection, id and name
.as(Sith.class) // use an interface as return type to create a projection
.matching(query(where("firstname").is("anakin"))) // so properties are taken as is
.oneValue();
diff --git a/mongodb/fragment-spi/README.adoc b/mongodb/fragment-spi/README.adoc
new file mode 100644
index 000000000..95eb32063
--- /dev/null
+++ b/mongodb/fragment-spi/README.adoc
@@ -0,0 +1,40 @@
+= Spring Data - Fragment SPI Example
+
+This project contains a sample using `spring.factories` to register implementation details for a repository extension for MongoDB Vector Search that lives outside the project namespace.
+
+The project is divided into the `atlas-api`, providing the extension, and the `sample` using it.
+
+== atlas-api
+
+The `AtlasRepository` is the base interface containing a `vectorSearch` method that is implemented in `AtlasRepositoryFragment`. The configuration in `src/main/resources/META-INF/spring.factories` makes sure it is picked up by the spring data infrastructure.
+
+The implementation leverages `RepositoryMethodContext` to get hold of method invocation metadata to determine the collection name derived from the repositories domain type ``.
+Since providing the metadata needs to be explicitly activated the `AtlasRepositoryFragment` uses the additional marker interface `RepositoryMetadataAccess` enabling the features for repositories extending the `AtlasRepository`.
+
+== sample
+
+The `MovieRepository` extends the `AtlasRepository` from the api project using a `Movie` type targeting the `movies` collection. No further configuration is needed to use the provided `vectorSearch` within the `MovieRepositoryTests`.
+
+The `Movies` class in `src/main/test` takes care of setting up required test data and indexes.
+
+== Running the sample
+
+The is using a local MongoDB Atlas instance bootstrapped by Testcontainers.
+Running the `MovieRepositoryTests` the `test/movies` collection will be populated with about 400 entries from the `mflix.embedded_movies.json.gz` file.
+Please be patient while data is loaded into the database and the index created afterward.
+Progress information will be printed to the log.
+
+[source,log]
+----
+INFO - com.example.data.mongodb.Movies: 73 - Loading movies from class path resource [mflix.embedded_movies.json.gz]
+INFO - com.example.data.mongodb.Movies: 90 - Created 420 movies in test.movies
+INFO - com.example.data.mongodb.Movies: 65 - creating vector index
+INFO - com.example.data.mongodb.Movies: 68 - index 'plot_vector_index' created
+----
+
+Once data and index are available search result will be printed:
+
+[source,log]
+----
+INFO - ...mongodb.MovieRepositoryTests: 183 - Movie{id='66d6ee0937e07b74aa2939cc', ...
+----
diff --git a/mongodb/fragment-spi/atlas-api/pom.xml b/mongodb/fragment-spi/atlas-api/pom.xml
new file mode 100644
index 000000000..ac0fdcada
--- /dev/null
+++ b/mongodb/fragment-spi/atlas-api/pom.xml
@@ -0,0 +1,14 @@
+
+ 4.0.0
+
+
+ org.springframework.data.examples
+ spring-data-mongodb-fragment-spi
+ 4.0.0-SNAPSHOT
+
+
+ spring-data-mongodb-fragment-spi-atlas
+ Spring Data MongoDB - Reusable Fragments - Vector Search Fragment
+
+
diff --git a/geode/events/src/main/java/example/springdata/geode/server/events/OrderRepository.java b/mongodb/fragment-spi/atlas-api/src/main/java/com/example/spi/mongodb/atlas/AtlasRepository.java
old mode 100755
new mode 100644
similarity index 68%
rename from geode/events/src/main/java/example/springdata/geode/server/events/OrderRepository.java
rename to mongodb/fragment-spi/atlas-api/src/main/java/com/example/spi/mongodb/atlas/AtlasRepository.java
index 582dde34a..1dc0f8e47
--- a/geode/events/src/main/java/example/springdata/geode/server/events/OrderRepository.java
+++ b/mongodb/fragment-spi/atlas-api/src/main/java/com/example/spi/mongodb/atlas/AtlasRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,11 +13,15 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.geode.server.events;
+package com.example.spi.mongodb.atlas;
+
+import java.util.List;
-import org.springframework.data.repository.CrudRepository;
/**
- * @author Patrick Johnson
+ * @author Christoph Strobl
*/
-public interface OrderRepository extends CrudRepository {}
+public interface AtlasRepository {
+
+ List vectorSearch(String index, String path, List vector);
+}
diff --git a/mongodb/fragment-spi/atlas-api/src/main/java/com/example/spi/mongodb/atlas/AtlasRepositoryFragment.java b/mongodb/fragment-spi/atlas-api/src/main/java/com/example/spi/mongodb/atlas/AtlasRepositoryFragment.java
new file mode 100644
index 000000000..f8f45c865
--- /dev/null
+++ b/mongodb/fragment-spi/atlas-api/src/main/java/com/example/spi/mongodb/atlas/AtlasRepositoryFragment.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.example.spi.mongodb.atlas;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.ResolvableType;
+import org.springframework.data.domain.Limit;
+import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.data.mongodb.core.aggregation.Aggregation;
+import org.springframework.data.mongodb.core.aggregation.VectorSearchOperation;
+import org.springframework.data.repository.core.RepositoryMetadata;
+import org.springframework.data.repository.core.RepositoryMethodContext;
+import org.springframework.data.repository.core.support.RepositoryMetadataAccess;
+
+class AtlasRepositoryFragment implements AtlasRepository, RepositoryMetadataAccess {
+
+ private final MongoOperations mongoOperations;
+
+ public AtlasRepositoryFragment(@Autowired MongoOperations mongoOperations) {
+ this.mongoOperations = mongoOperations;
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public List vectorSearch(String index, String path, List vector) {
+
+ RepositoryMethodContext methodContext = RepositoryMethodContext.getContext();
+
+ Class> domainType = resolveDomainType(methodContext.getMetadata());
+
+ VectorSearchOperation $vectorSearch = VectorSearchOperation.search(index).path(path).vector(vector)
+ .limit(Limit.of(10)).numCandidates(150);
+
+ Aggregation aggregation = Aggregation.newAggregation($vectorSearch);
+
+ return (List) mongoOperations.aggregate(aggregation, mongoOperations.getCollectionName(domainType), domainType).getMappedResults();
+ }
+
+ @SuppressWarnings("unchecked")
+ private static Class resolveDomainType(RepositoryMetadata metadata) {
+
+ // resolve the actual generic type argument of the AtlasRepository.
+ return (Class) ResolvableType.forClass(metadata.getRepositoryInterface())
+ .as(AtlasRepository.class)
+ .getGeneric(0)
+ .resolve();
+ }
+
+}
diff --git a/mongodb/fragment-spi/atlas-api/src/main/resources/META-INF/spring.factories b/mongodb/fragment-spi/atlas-api/src/main/resources/META-INF/spring.factories
new file mode 100644
index 000000000..cddeae58c
--- /dev/null
+++ b/mongodb/fragment-spi/atlas-api/src/main/resources/META-INF/spring.factories
@@ -0,0 +1 @@
+com.example.spi.mongodb.atlas.AtlasRepository=com.example.spi.mongodb.atlas.AtlasRepositoryFragment
diff --git a/mongodb/fragment-spi/pom.xml b/mongodb/fragment-spi/pom.xml
new file mode 100644
index 000000000..d90b15826
--- /dev/null
+++ b/mongodb/fragment-spi/pom.xml
@@ -0,0 +1,21 @@
+
+ 4.0.0
+
+
+ org.springframework.data.examples
+ spring-data-mongodb-examples
+ 4.0.0-SNAPSHOT
+
+
+ spring-data-mongodb-fragment-spi
+ Spring Data MongoDB - Reusable Fragments
+ pom
+
+
+ atlas-api
+ sample
+
+
+
diff --git a/mongodb/fragment-spi/sample/pom.xml b/mongodb/fragment-spi/sample/pom.xml
new file mode 100644
index 000000000..bc03ce75d
--- /dev/null
+++ b/mongodb/fragment-spi/sample/pom.xml
@@ -0,0 +1,28 @@
+
+ 4.0.0
+
+
+ org.springframework.data.examples
+ spring-data-mongodb-fragment-spi
+ 4.0.0-SNAPSHOT
+
+
+ spring-data-mongodb-fragment-spi-usage
+ Spring Data MongoDB - Reusable Fragments - Fragment Usage
+
+
+
+ org.springframework.data.examples
+ spring-data-mongodb-fragment-spi-atlas
+ ${project.version}
+
+
+
+ org.springframework.data.examples
+ spring-data-mongodb-example-utils
+ test
+
+
+
diff --git a/geode/storage/src/main/java/example/springdata/geode/server/storage/OrderRepository.java b/mongodb/fragment-spi/sample/src/main/java/com/example/data/mongodb/ApplicationConfiguration.java
old mode 100755
new mode 100644
similarity index 68%
rename from geode/storage/src/main/java/example/springdata/geode/server/storage/OrderRepository.java
rename to mongodb/fragment-spi/sample/src/main/java/com/example/data/mongodb/ApplicationConfiguration.java
index 8b9caec14..0d553155d
--- a/geode/storage/src/main/java/example/springdata/geode/server/storage/OrderRepository.java
+++ b/mongodb/fragment-spi/sample/src/main/java/com/example/data/mongodb/ApplicationConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,11 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.geode.server.storage;
+package com.example.data.mongodb;
-import org.springframework.data.repository.CrudRepository;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
- * @author Patrick Johnson
+ * @author Christoph Strobl
*/
-public interface OrderRepository extends CrudRepository {}
+@SpringBootApplication
+public class ApplicationConfiguration {
+
+}
diff --git a/mongodb/fragment-spi/sample/src/main/java/com/example/data/mongodb/Movie.java b/mongodb/fragment-spi/sample/src/main/java/com/example/data/mongodb/Movie.java
new file mode 100644
index 000000000..6af282b00
--- /dev/null
+++ b/mongodb/fragment-spi/sample/src/main/java/com/example/data/mongodb/Movie.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2024 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.example.data.mongodb;
+
+import org.springframework.data.mongodb.core.mapping.Document;
+
+/**
+ * @author Christoph Strobl
+ */
+@Document("movies")
+public class Movie {
+
+ private String id;
+ private String title;
+ private String plot;
+
+ public String getPlot() {
+ return plot;
+ }
+
+ public void setPlot(String plot) {
+ this.plot = plot;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ @Override
+ public String toString() {
+ return "Movie{" +
+ "id='" + id + '\'' +
+ ", title='" + title + '\'' +
+ ", plot='" + plot + '\'' +
+ '}';
+ }
+}
diff --git a/geode/storage/src/main/java/example/springdata/geode/server/storage/CustomerRepository.java b/mongodb/fragment-spi/sample/src/main/java/com/example/data/mongodb/MovieRepository.java
old mode 100755
new mode 100644
similarity index 70%
rename from geode/storage/src/main/java/example/springdata/geode/server/storage/CustomerRepository.java
rename to mongodb/fragment-spi/sample/src/main/java/com/example/data/mongodb/MovieRepository.java
index 8a55e832a..4ef73c58f
--- a/geode/storage/src/main/java/example/springdata/geode/server/storage/CustomerRepository.java
+++ b/mongodb/fragment-spi/sample/src/main/java/com/example/data/mongodb/MovieRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2024 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,12 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.geode.server.storage;
+package com.example.data.mongodb;
+import com.example.spi.mongodb.atlas.AtlasRepository;
import org.springframework.data.repository.CrudRepository;
/**
- * @author Patrick Johnson
+ * @author Christoph Strobl
*/
-public interface CustomerRepository extends CrudRepository {
+public interface MovieRepository extends CrudRepository, AtlasRepository {
+
}
diff --git a/mongodb/fragment-spi/sample/src/main/resources/application.properties b/mongodb/fragment-spi/sample/src/main/resources/application.properties
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/mongodb/fragment-spi/sample/src/main/resources/application.properties
@@ -0,0 +1 @@
+
diff --git a/mongodb/fragment-spi/sample/src/test/java/com/example/data/mongodb/MovieRepositoryTests.java b/mongodb/fragment-spi/sample/src/test/java/com/example/data/mongodb/MovieRepositoryTests.java
new file mode 100644
index 000000000..157b81143
--- /dev/null
+++ b/mongodb/fragment-spi/sample/src/test/java/com/example/data/mongodb/MovieRepositoryTests.java
@@ -0,0 +1,270 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.example.data.mongodb;
+
+import example.springdata.mongodb.util.MongoContainers;
+
+import java.util.List;
+import java.util.Objects;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledIfEnvironmentVariable;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.event.Level;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
+import org.springframework.core.io.Resource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBAtlasLocalContainer;
+
+import com.mongodb.client.MongoClient;
+
+/**
+ * Integration test for MongoDB Atlas Vector Search.
+ *
+ * @author Christoph Strobl
+ */
+@SpringBootTest
+@Testcontainers
+@DisabledIfEnvironmentVariable(named = "ci", matches = "true")
+class MovieRepositoryTests {
+
+ private static final Logger log = LoggerFactory.getLogger(MovieRepositoryTests.class);
+
+ private static @ServiceConnection @Container MongoDBAtlasLocalContainer atlasLocal = MongoContainers
+ .getAtlasContainer();
+
+ @Value("classpath:/mflix.embedded_movies.json.gz") Resource moviesResource;
+ @Autowired MovieRepository repository;
+ @Autowired MongoClient client;
+
+ @BeforeEach
+ void setUp() {
+
+ Movies movies = new Movies(client);
+ if (!movies.alreadyInitialized()) {
+ movies.initialize(moviesResource);
+ }
+ }
+
+ @Test
+ void testVectorSearch() {
+
+ List result = repository.vectorSearch("plot_vector_index", "plot_embedding", List.of(vectors));
+ result.stream().map(Objects::toString).forEach(log.atLevel(Level.INFO)::log);
+ }
+
+ private static final Double[] vectors = { -0.0016261312, -0.028070757, -0.011342932, -0.012775794, -0.0027440966,
+ 0.008683807, -0.02575152, -0.02020668, -0.010283281, -0.0041719596, 0.021392956, 0.028657231, -0.006634482,
+ 0.007490867, 0.018593878, 0.0038187427, 0.029590257, -0.01451522, 0.016061379, 0.00008528442, -0.008943722,
+ 0.01627464, 0.024311995, -0.025911469, 0.00022596726, -0.008863748, 0.008823762, -0.034921836, 0.007910728,
+ -0.01515501, 0.035801545, -0.0035688248, -0.020299982, -0.03145631, -0.032256044, -0.028763862, -0.0071576433,
+ -0.012769129, 0.012322609, -0.006621153, 0.010583182, 0.024085402, -0.001623632, 0.007864078, -0.021406285,
+ 0.002554159, 0.012229307, -0.011762793, 0.0051682983, 0.0048484034, 0.018087378, 0.024325324, -0.037694257,
+ -0.026537929, -0.008803768, -0.017767483, -0.012642504, -0.0062712682, 0.0009771782, -0.010409906, 0.017754154,
+ -0.004671795, -0.030469967, 0.008477209, -0.005218282, -0.0058480743, -0.020153364, -0.0032805866, 0.004248601,
+ 0.0051449724, 0.006791097, 0.007650814, 0.003458861, -0.0031223053, -0.01932697, -0.033615597, 0.00745088,
+ 0.006321252, -0.0038154104, 0.014555207, 0.027697546, -0.02828402, 0.0066711367, 0.0077107945, 0.01794076,
+ 0.011349596, -0.0052715978, 0.014755142, -0.019753495, -0.011156326, 0.011202978, 0.022126047, 0.00846388,
+ 0.030549942, -0.0041386373, 0.018847128, -0.00033655585, 0.024925126, -0.003555496, -0.019300312, 0.010749794,
+ 0.0075308536, -0.018287312, -0.016567878, -0.012869096, -0.015528221, 0.0078107617, -0.011156326, 0.013522214,
+ -0.020646535, -0.01211601, 0.055928253, 0.011596181, -0.017247654, 0.0005939711, -0.026977783, -0.003942035,
+ -0.009583511, -0.0055248477, -0.028737204, 0.023179034, 0.003995351, 0.0219661, -0.008470545, 0.023392297,
+ 0.010469886, -0.015874773, 0.007890735, -0.009690142, -0.00024970944, 0.012775794, 0.0114762215, 0.013422247,
+ 0.010429899, -0.03686786, -0.006717788, -0.027484283, 0.011556195, -0.036068123, -0.013915418, -0.0016327957,
+ 0.0151016945, -0.020473259, 0.004671795, -0.012555866, 0.0209531, 0.01982014, 0.024485271, 0.0105431955,
+ -0.005178295, 0.033162415, -0.013795458, 0.007150979, 0.010243294, 0.005644808, 0.017260984, -0.0045618312,
+ 0.0024725192, 0.004305249, -0.008197301, 0.0014203656, 0.0018460588, 0.005015015, -0.011142998, 0.01439526,
+ 0.022965772, 0.02552493, 0.007757446, -0.0019726837, 0.009503538, -0.032042783, 0.008403899, -0.04609149,
+ 0.013808787, 0.011749465, 0.036388017, 0.016314628, 0.021939443, -0.0250051, -0.017354285, -0.012962398,
+ 0.00006107364, 0.019113706, 0.03081652, -0.018114036, -0.0084572155, 0.009643491, -0.0034721901, 0.0072642746,
+ -0.0090636825, 0.01642126, 0.013428912, 0.027724205, 0.0071243206, -0.6858542, -0.031029783, -0.014595194,
+ -0.011449563, 0.017514233, 0.01743426, 0.009950057, 0.0029706885, -0.015714826, -0.001806072, 0.011856096,
+ 0.026444625, -0.0010663156, -0.006474535, 0.0016161345, -0.020313311, 0.0148351155, -0.0018393943, 0.0057347785,
+ 0.018300641, -0.018647194, 0.03345565, -0.008070676, 0.0071443142, 0.014301958, 0.0044818576, 0.003838736,
+ -0.007350913, -0.024525259, -0.001142124, -0.018620536, 0.017247654, 0.007037683, 0.010236629, 0.06046009,
+ 0.0138887605, -0.012122675, 0.037694257, 0.0055081863, 0.042492677, 0.00021784494, -0.011656162, 0.010276617,
+ 0.022325981, 0.005984696, -0.009496873, 0.013382261, -0.0010563189, 0.0026507939, -0.041639622, 0.008637156,
+ 0.026471283, -0.008403899, 0.024858482, -0.00066686375, -0.0016252982, 0.027590916, 0.0051449724, 0.0058647357,
+ -0.008743787, -0.014968405, 0.027724205, -0.011596181, 0.0047650975, -0.015381602, 0.0043718936, 0.002159289,
+ 0.035908177, -0.008243952, -0.030443309, 0.027564257, 0.042625964, -0.0033688906, 0.01843393, 0.019087048,
+ 0.024578573, 0.03268257, -0.015608194, -0.014128681, -0.0033538956, -0.0028757197, -0.004121976, -0.032389335,
+ 0.0034322033, 0.058807302, 0.010943064, -0.030523283, 0.008903735, 0.017500903, 0.00871713, -0.0029406983,
+ 0.013995391, -0.03132302, -0.019660193, -0.00770413, -0.0038853872, 0.0015894766, -0.0015294964, -0.006251275,
+ -0.021099718, -0.010256623, -0.008863748, 0.028550599, 0.02020668, -0.0012962399, -0.003415542, -0.0022509254,
+ 0.0119360695, 0.027590916, -0.046971202, -0.0015194997, -0.022405956, 0.0016677842, -0.00018535563, -0.015421589,
+ -0.031802863, 0.03814744, 0.0065411795, 0.016567878, -0.015621523, 0.022899127, -0.011076353, 0.02841731,
+ -0.002679118, -0.002342562, 0.015341615, 0.01804739, -0.020566562, -0.012989056, -0.002990682, 0.01643459,
+ 0.00042527664, 0.008243952, -0.013715484, -0.004835075, -0.009803439, 0.03129636, -0.021432944, 0.0012087687,
+ -0.015741484, -0.0052016205, 0.00080890034, -0.01755422, 0.004811749, -0.017967418, -0.026684547, -0.014128681,
+ 0.0041386373, -0.013742141, -0.010056688, -0.013268964, -0.0110630235, -0.028337335, 0.015981404, -0.00997005,
+ -0.02424535, -0.013968734, -0.028310679, -0.027750863, -0.020699851, 0.02235264, 0.001057985, 0.00081639783,
+ -0.0099367285, 0.013522214, -0.012016043, -0.00086471526, 0.013568865, 0.0019376953, -0.019020405, 0.017460918,
+ -0.023045745, 0.008503866, 0.0064678704, -0.011509543, 0.018727167, -0.003372223, -0.0028690554, -0.0027024434,
+ -0.011902748, -0.012182655, -0.015714826, -0.0098634185, 0.00593138, 0.018753825, 0.0010146659, 0.013029044,
+ 0.0003521757, -0.017620865, 0.04102649, 0.00552818, 0.024485271, -0.009630162, -0.015608194, 0.0006718621,
+ -0.0008418062, 0.012395918, 0.0057980907, 0.016221326, 0.010616505, 0.004838407, -0.012402583, 0.019900113,
+ -0.0034521967, 0.000247002, -0.03153628, 0.0011038032, -0.020819811, 0.016234655, -0.00330058, -0.0032289368,
+ 0.00078973995, -0.021952773, -0.022459272, 0.03118973, 0.03673457, -0.021472929, 0.0072109587, -0.015075036,
+ 0.004855068, -0.0008151483, 0.0069643734, 0.010023367, -0.010276617, -0.023019087, 0.0068244194, -0.0012520878,
+ -0.0015086699, 0.022046074, -0.034148756, -0.0022192693, 0.002427534, -0.0027124402, 0.0060346797, 0.015461575,
+ 0.0137554705, 0.009230294, -0.009583511, 0.032629255, 0.015994733, -0.019167023, -0.009203636, 0.03393549,
+ -0.017274313, -0.012042701, -0.0009930064, 0.026777849, -0.013582194, -0.0027590916, -0.017594207, -0.026804507,
+ -0.0014236979, -0.022032745, 0.0091236625, -0.0042419364, -0.00858384, -0.0033905501, -0.020739838, 0.016821127,
+ 0.022539245, 0.015381602, 0.015141681, 0.028817179, -0.019726837, -0.0051283115, -0.011489551, -0.013208984,
+ -0.0047017853, -0.0072309524, 0.01767418, 0.0025658219, -0.010323267, 0.012609182, -0.028097415, 0.026871152,
+ -0.010276617, 0.021912785, 0.0022542577, 0.005124979, -0.0019710176, 0.004518512, -0.040360045, 0.010969722,
+ -0.0031539614, -0.020366628, -0.025778178, -0.0110030435, -0.016221326, 0.0036587953, 0.016207997, 0.003007343,
+ -0.0032555948, 0.0044052163, -0.022046074, -0.0008822095, -0.009363583, 0.028230704, -0.024538586, 0.0029840174,
+ 0.0016044717, -0.014181997, 0.031349678, -0.014381931, -0.027750863, 0.02613806, 0.0004136138, -0.005748107,
+ -0.01868718, -0.0010138329, 0.0054348772, 0.010703143, -0.003682121, 0.0030856507, -0.004275259, -0.010403241,
+ 0.021113047, -0.022685863, -0.023032416, 0.031429652, 0.001792743, -0.005644808, -0.011842767, -0.04078657,
+ -0.0026874484, 0.06915057, -0.00056939584, -0.013995391, 0.010703143, -0.013728813, -0.022939114, -0.015261642,
+ -0.022485929, 0.016807798, 0.007964044, 0.0144219175, 0.016821127, 0.0076241563, 0.005461535, -0.013248971,
+ 0.015301628, 0.0085171955, -0.004318578, 0.011136333, -0.0059047225, -0.010249958, -0.018207338, 0.024645219,
+ 0.021752838, 0.0007614159, -0.013648839, 0.01111634, -0.010503208, -0.0038487327, -0.008203966, -0.00397869,
+ 0.0029740208, 0.008530525, 0.005261601, 0.01642126, -0.0038753906, -0.013222313, 0.026537929, 0.024671877,
+ -0.043505676, 0.014195326, 0.024778508, 0.0056914594, -0.025951454, 0.017620865, -0.0021359634, 0.008643821,
+ 0.021299653, 0.0041686273, -0.009017031, 0.04044002, 0.024378639, -0.027777521, -0.014208655, 0.0028623908,
+ 0.042119466, 0.005801423, -0.028124074, -0.03129636, 0.022139376, -0.022179363, -0.04067994, 0.013688826,
+ 0.013328944, 0.0046184794, -0.02828402, -0.0063412455, -0.0046184794, -0.011756129, -0.010383247, -0.0018543894,
+ -0.0018593877, -0.00052024535, 0.004815081, 0.014781799, 0.018007403, 0.01306903, -0.020433271, 0.009043689,
+ 0.033189073, -0.006844413, -0.019766824, -0.018767154, 0.00533491, -0.0024575242, 0.018727167, 0.0058080875,
+ -0.013835444, 0.0040719924, 0.004881726, 0.012029372, 0.005664801, 0.03193615, 0.0058047553, 0.002695779,
+ 0.009290274, 0.02361889, 0.017834127, 0.0049017193, -0.0036388019, 0.010776452, -0.019793482, 0.0067777685,
+ -0.014208655, -0.024911797, 0.002385881, 0.0034988478, 0.020899786, -0.0025858153, -0.011849431, 0.033189073,
+ -0.021312982, 0.024965113, -0.014635181, 0.014048708, -0.0035921505, -0.003347231, 0.030869836, -0.0017161017,
+ -0.0061346465, 0.009203636, -0.025165047, 0.0068510775, 0.021499587, 0.013782129, -0.0024475274, -0.0051149824,
+ -0.024445284, 0.006167969, 0.0068844, -0.00076183246, 0.030150073, -0.0055948244, -0.011162991, -0.02057989,
+ -0.009703471, -0.020646535, 0.008004031, 0.0066378145, -0.019900113, -0.012169327, -0.01439526, 0.0044252095,
+ -0.004018677, 0.014621852, -0.025085073, -0.013715484, -0.017980747, 0.0071043274, 0.011456228, -0.01010334,
+ -0.0035321703, -0.03801415, -0.012036037, -0.0028990454, -0.05419549, -0.024058744, -0.024272008, 0.015221654,
+ 0.027964126, 0.03182952, -0.015354944, 0.004855068, 0.011522872, 0.004771762, 0.0027874154, 0.023405626,
+ 0.0004242353, -0.03132302, 0.007057676, 0.008763781, -0.0027057757, 0.023005757, -0.0071176565, -0.005238275,
+ 0.029110415, -0.010989714, 0.013728813, -0.009630162, -0.029137073, -0.0049317093, -0.0008630492, -0.015248313,
+ 0.0043219104, -0.0055681667, -0.013175662, 0.029723546, 0.025098402, 0.012849103, -0.0009996708, 0.03118973,
+ -0.0021709518, 0.0260181, -0.020526575, 0.028097415, -0.016141351, 0.010509873, -0.022965772, 0.002865723,
+ 0.0020493253, 0.0020509914, -0.0041419696, -0.00039695262, 0.017287642, 0.0038987163, 0.014795128, -0.014661839,
+ -0.008950386, 0.004431874, -0.009383577, 0.0012604183, -0.023019087, 0.0029273694, -0.033135757, 0.009176978,
+ -0.011023037, -0.002102641, 0.02663123, -0.03849399, -0.0044152127, 0.0004527676, -0.0026924468, 0.02828402,
+ 0.017727496, 0.035135098, 0.02728435, -0.005348239, -0.001467017, -0.019766824, 0.014715155, 0.011982721,
+ 0.0045651635, 0.023458943, -0.0010046692, -0.0031373003, -0.0006972704, 0.0019043729, -0.018967088, -0.024311995,
+ 0.0011546199, 0.007977373, -0.004755101, -0.010016702, -0.02780418, -0.004688456, 0.013022379, -0.005484861,
+ 0.0017227661, -0.015394931, -0.028763862, -0.026684547, 0.0030589928, -0.018513903, 0.028363993, 0.0044818576,
+ -0.009270281, 0.038920518, -0.016008062, 0.0093902415, 0.004815081, -0.021059733, 0.01451522, -0.0051583014,
+ 0.023765508, -0.017874114, -0.016821127, -0.012522544, -0.0028390652, 0.0040886537, 0.020259995, -0.031216389,
+ -0.014115352, -0.009176978, 0.010303274, 0.020313311, 0.0064112223, -0.02235264, -0.022872468, 0.0052449396,
+ 0.0005723116, 0.0037321046, 0.016807798, -0.018527232, -0.009303603, 0.0024858483, -0.0012662497, -0.007110992,
+ 0.011976057, -0.007790768, -0.042999174, -0.006727785, -0.011829439, 0.007024354, 0.005278262, -0.017740825,
+ -0.0041519664, 0.0085905045, 0.027750863, -0.038387362, 0.024391968, 0.00087721116, 0.010509873, -0.00038508154,
+ -0.006857742, 0.0183273, -0.0037054466, 0.015461575, 0.0017394272, -0.0017944091, 0.014181997, -0.0052682655,
+ 0.009023695, 0.00719763, -0.013522214, 0.0034422, 0.014941746, -0.0016711164, -0.025298337, -0.017634194,
+ 0.0058714002, -0.005321581, 0.017834127, 0.0110630235, -0.03369557, 0.029190388, -0.008943722, 0.009363583,
+ -0.0034222065, -0.026111402, -0.007037683, -0.006561173, 0.02473852, -0.007084334, -0.010110005, -0.008577175,
+ 0.0030439978, -0.022712521, 0.0054582027, -0.0012620845, -0.0011954397, -0.015741484, 0.0129557345,
+ -0.00042111133, 0.00846388, 0.008930393, 0.016487904, 0.010469886, -0.007917393, -0.011762793, -0.0214596,
+ 0.000917198, 0.021672864, 0.010269952, -0.007737452, -0.010243294, -0.0067244526, -0.015488233, -0.021552904,
+ 0.017127695, 0.011109675, 0.038067464, 0.00871713, -0.0025591573, 0.021312982, -0.006237946, 0.034628596,
+ -0.0045251767, 0.008357248, 0.020686522, 0.0010696478, 0.0076708077, 0.03772091, -0.018700508, -0.0020676525,
+ -0.008923728, -0.023298996, 0.018233996, -0.010256623, 0.0017860786, 0.009796774, -0.00897038, -0.01269582,
+ -0.018527232, 0.009190307, -0.02372552, -0.042119466, 0.008097334, -0.0066778013, -0.021046404, 0.0019593548,
+ 0.011083017, -0.0016028056, 0.012662497, -0.000059095124, 0.0071043274, -0.014675168, 0.024831824, -0.053582355,
+ 0.038387362, 0.0005698124, 0.015954746, 0.021552904, 0.031589597, -0.009230294, -0.0006147976, 0.002625802,
+ -0.011749465, -0.034362018, -0.0067844326, -0.018793812, 0.011442899, -0.008743787, 0.017474247, -0.021619547,
+ 0.01831397, -0.009037024, -0.0057247817, -0.02728435, 0.010363255, 0.034415334, -0.024032086, -0.0020126705,
+ -0.0045518344, -0.019353628, -0.018340627, -0.03129636, -0.0034038792, -0.006321252, -0.0016161345, 0.033642255,
+ -0.000056075285, -0.005005019, 0.004571828, -0.0024075406, -0.00010215386, 0.0098634185, 0.1980148, -0.003825407,
+ -0.025191706, 0.035161756, 0.005358236, 0.025111731, 0.023485601, 0.0023342315, -0.011882754, 0.018287312,
+ -0.0068910643, 0.003912045, 0.009243623, -0.001355387, -0.028603915, -0.012802451, -0.030150073, -0.014795128,
+ -0.028630573, -0.0013487226, 0.002667455, 0.00985009, -0.0033972147, -0.021486258, 0.009503538, -0.017847456,
+ 0.013062365, -0.014341944, 0.005078328, 0.025165047, -0.015594865, -0.025924796, -0.0018177348, 0.010996379,
+ -0.02993681, 0.007324255, 0.014475234, -0.028577257, 0.005494857, 0.00011725306, -0.013315615, 0.015941417,
+ 0.009376912, 0.0025158382, 0.008743787, 0.023832154, -0.008084005, -0.014195326, -0.008823762, 0.0033455652,
+ -0.032362677, -0.021552904, -0.0056081535, 0.023298996, -0.025444955, 0.0097301295, 0.009736794, 0.015274971,
+ -0.0012937407, -0.018087378, -0.0039387033, 0.008637156, -0.011189649, -0.00023846315, -0.011582852, 0.0066411467,
+ -0.018220667, 0.0060846633, 0.0376676, -0.002709108, 0.0072776037, 0.0034188742, -0.010249958, -0.0007747449,
+ -0.00795738, -0.022192692, 0.03910712, 0.032122757, 0.023898797, 0.0076241563, -0.007397564, -0.003655463,
+ 0.011442899, -0.014115352, -0.00505167, -0.031163072, 0.030336678, -0.006857742, -0.022259338, 0.004048667,
+ 0.02072651, 0.0030156737, -0.0042119464, 0.00041861215, -0.005731446, 0.011103011, 0.013822115, 0.021512916,
+ 0.009216965, -0.006537847, -0.027057758, -0.04054665, 0.010403241, -0.0056281467, -0.005701456, -0.002709108,
+ -0.00745088, -0.0024841821, 0.009356919, -0.022659205, 0.004061996, -0.013175662, 0.017074378, -0.006141311,
+ -0.014541878, 0.02993681, -0.00028448965, -0.025271678, 0.011689484, -0.014528549, 0.004398552, -0.017274313,
+ 0.0045751603, 0.012455898, 0.004121976, -0.025458284, -0.006744446, 0.011822774, -0.015035049, -0.03257594,
+ 0.014675168, -0.0039187097, 0.019726837, -0.0047251107, 0.0022825818, 0.011829439, 0.005391558, -0.016781142,
+ -0.0058747325, 0.010309938, -0.013049036, 0.01186276, -0.0011246296, 0.0062112883, 0.0028190718, -0.021739509,
+ 0.009883412, -0.0073175905, -0.012715813, -0.017181009, -0.016607866, -0.042492677, -0.0014478565, -0.01794076,
+ 0.012302616, -0.015194997, -0.04433207, -0.020606548, 0.009696807, 0.010303274, -0.01694109, -0.004018677,
+ 0.019353628, -0.001991011, 0.000058938927, 0.010536531, -0.17274313, 0.010143327, 0.014235313, -0.024152048,
+ 0.025684876, -0.0012504216, 0.036601283, -0.003698782, 0.0007310093, 0.004165295, -0.0029157067, 0.017101036,
+ -0.046891227, -0.017460918, 0.022965772, 0.020233337, -0.024072073, 0.017220996, 0.009370248, 0.0010363255,
+ 0.0194336, -0.019606877, 0.01818068, -0.020819811, 0.007410893, 0.0019326969, 0.017887443, 0.006651143,
+ 0.00067394477, -0.011889419, -0.025058415, -0.008543854, 0.021579562, 0.0047484366, 0.014062037, 0.0075508473,
+ -0.009510202, -0.009143656, 0.0046817916, 0.013982063, -0.0027990784, 0.011782787, 0.014541878, -0.015701497,
+ -0.029350337, 0.021979429, 0.01332228, -0.026244693, -0.0123492675, -0.003895384, 0.0071576433, -0.035454992,
+ -0.00046984528, 0.0033522295, 0.039347045, 0.0005119148, 0.00476843, -0.012995721, 0.0024042083, -0.006931051,
+ -0.014461905, -0.0127558, 0.0034555288, -0.0074842023, -0.030256703, -0.007057676, -0.00807734, 0.007804097,
+ -0.006957709, 0.017181009, -0.034575284, -0.008603834, -0.005008351, -0.015834786, 0.02943031, 0.016861115,
+ -0.0050849924, 0.014235313, 0.0051449724, 0.0025924798, -0.0025741523, 0.04289254, -0.002104307, 0.012969063,
+ -0.008310596, 0.00423194, 0.0074975314, 0.0018810473, -0.014248641, -0.024725191, 0.0151016945, -0.017527562,
+ 0.0018727167, 0.0002830318, 0.015168339, 0.0144219175, -0.004048667, -0.004358565, 0.011836103, -0.010343261,
+ -0.005911387, 0.0022825818, 0.0073175905, 0.00403867, 0.013188991, 0.03334902, 0.006111321, 0.008597169,
+ 0.030123414, -0.015474904, 0.0017877447, -0.024551915, 0.013155668, 0.023525586, -0.0255116, 0.017220996,
+ 0.004358565, -0.00934359, 0.0099967085, 0.011162991, 0.03092315, -0.021046404, -0.015514892, 0.0011946067,
+ -0.01816735, 0.010876419, -0.10124666, -0.03550831, 0.0056348112, 0.013942076, 0.005951374, 0.020419942,
+ -0.006857742, -0.020873128, -0.021259667, 0.0137554705, 0.0057880944, -0.029163731, -0.018767154, -0.021392956,
+ 0.030896494, -0.005494857, -0.0027307675, -0.006801094, -0.014821786, 0.021392956, -0.0018110704, -0.0018843795,
+ -0.012362596, -0.0072176233, -0.017194338, -0.018713837, -0.024272008, 0.03801415, 0.00015880188, 0.0044951867,
+ -0.028630573, -0.0014070367, -0.00916365, -0.026537929, -0.009576847, -0.013995391, -0.0077107945, 0.0050016865,
+ 0.00578143, -0.04467862, 0.008363913, 0.010136662, -0.0006268769, -0.006591163, 0.015341615, -0.027377652,
+ -0.00093136, 0.029243704, -0.020886457, -0.01041657, -0.02424535, 0.005291591, -0.02980352, -0.009190307,
+ 0.019460259, -0.0041286405, 0.004801752, 0.0011787785, -0.001257086, -0.011216307, -0.013395589, 0.00088137644,
+ -0.0051616337, 0.03876057, -0.0033455652, 0.00075850025, -0.006951045, -0.0062112883, 0.018140694, -0.006351242,
+ -0.008263946, 0.018154023, -0.012189319, 0.0075508473, -0.044358727, -0.0040153447, 0.0093302615, -0.010636497,
+ 0.032789204, -0.005264933, -0.014235313, -0.018393943, 0.007297597, -0.016114693, 0.015021721, 0.020033404,
+ 0.0137688, 0.0011046362, 0.010616505, -0.0039453674, 0.012109346, 0.021099718, -0.0072842683, -0.019153694,
+ -0.003768759, 0.039320387, -0.006747778, -0.0016852784, 0.018154023, 0.0010963057, -0.015035049, -0.021033075,
+ -0.04345236, 0.017287642, 0.016341286, -0.008610498, 0.00236922, 0.009290274, 0.028950468, -0.014475234,
+ -0.0035654926, 0.015434918, -0.03372223, 0.004501851, -0.012929076, -0.008483873, -0.0044685286, -0.0102233,
+ 0.01615468, 0.0022792495, 0.010876419, -0.0059647025, 0.01895376, -0.0069976957, -0.0042952523, 0.017207667,
+ -0.00036133936, 0.0085905045, 0.008084005, 0.03129636, -0.016994404, -0.014915089, 0.020100048, -0.012009379,
+ -0.006684466, 0.01306903, 0.00015765642, -0.00530492, 0.0005277429, 0.015421589, 0.015528221, 0.032202728,
+ -0.003485519, -0.0014286962, 0.033908837, 0.001367883, 0.010509873, 0.025271678, -0.020993087, 0.019846799,
+ 0.006897729, -0.010216636, -0.00725761, 0.01818068, -0.028443968, -0.011242964, -0.014435247, -0.013688826,
+ 0.006101324, -0.0022509254, 0.013848773, -0.0019077052, 0.017181009, 0.03422873, 0.005324913, -0.0035188415,
+ 0.014128681, -0.004898387, 0.005038341, 0.0012320944, -0.005561502, -0.017847456, 0.0008538855, -0.0047884234,
+ 0.011849431, 0.015421589, -0.013942076, 0.0029790192, -0.013702155, 0.0001199605, -0.024431955, 0.019926772,
+ 0.022179363, -0.016487904, -0.03964028, 0.0050849924, 0.017487574, 0.022792496, 0.0012504216, 0.004048667,
+ -0.00997005, 0.0076041627, -0.014328616, -0.020259995, 0.0005598157, -0.010469886, 0.0016852784, 0.01716768,
+ -0.008990373, -0.001987679, 0.026417969, 0.023792166, 0.0046917885, -0.0071909656, -0.00032051947, -0.023259008,
+ -0.009170313, 0.02071318, -0.03156294, -0.030869836, -0.006324584, 0.013795458, -0.00047151142, 0.016874444,
+ 0.00947688, 0.00985009, -0.029883493, 0.024205362, -0.013522214, -0.015075036, -0.030603256, 0.029270362,
+ 0.010503208, 0.021539574, 0.01743426, -0.023898797, 0.022019416, -0.0068777353, 0.027857494, -0.021259667,
+ 0.0025758184, 0.006197959, 0.006447877, -0.00025200035, -0.004941706, -0.021246338, -0.005504854, -0.008390571,
+ -0.0097301295, 0.027244363, -0.04446536, 0.05216949, 0.010243294, -0.016008062, 0.0122493, -0.0199401,
+ 0.009077012, 0.019753495, 0.006431216, -0.037960835, -0.027377652, 0.016381273, -0.0038620618, 0.022512587,
+ -0.010996379, -0.0015211658, -0.0102233, 0.007071005, 0.008230623, -0.009490209, -0.010083347, 0.024431955,
+ 0.002427534, 0.02828402, 0.0035721571, -0.022192692, -0.011882754, 0.010056688, 0.0011904413, -0.01426197,
+ -0.017500903, -0.00010985966, 0.005591492, -0.0077707744, -0.012049366, 0.011869425, 0.00858384, -0.024698535,
+ -0.030283362, 0.020140035, 0.011949399, -0.013968734, 0.042732596, -0.011649498, -0.011982721, -0.016967745,
+ -0.0060913274, -0.007130985, -0.013109017, -0.009710136 };
+}
diff --git a/mongodb/fragment-spi/sample/src/test/java/com/example/data/mongodb/Movies.java b/mongodb/fragment-spi/sample/src/test/java/com/example/data/mongodb/Movies.java
new file mode 100644
index 000000000..f0ac5f150
--- /dev/null
+++ b/mongodb/fragment-spi/sample/src/test/java/com/example/data/mongodb/Movies.java
@@ -0,0 +1,108 @@
+/*
+ * Copyright 2024 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.example.data.mongodb;
+
+import lombok.SneakyThrows;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.zip.GZIPInputStream;
+
+import org.bson.Document;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.event.Level;
+
+import org.springframework.core.io.Resource;
+
+import org.testcontainers.shaded.com.fasterxml.jackson.databind.JsonNode;
+import org.testcontainers.shaded.com.fasterxml.jackson.databind.ObjectMapper;
+
+import com.mongodb.client.MongoClient;
+import com.mongodb.client.model.InsertOneModel;
+
+/**
+ * @author Christoph Strobl
+ */
+class Movies {
+
+ private static final Logger log = LoggerFactory.getLogger(Movies.class);
+
+ private final MongoClient client;
+ static final String DATABASE = "test";
+ static final String COLLECTION = "movies";
+
+ public Movies(MongoClient client) {
+ this.client = client;
+ }
+
+ boolean alreadyInitialized() {
+ return client.getDatabase(DATABASE).getCollection(COLLECTION).estimatedDocumentCount() > 0;
+ }
+
+ @SneakyThrows
+ void initialize(Resource resource) {
+
+ loadSampleData(resource);
+ createVectorIndex();
+ }
+
+ @SneakyThrows
+ private void createVectorIndex() {
+
+ log.atLevel(Level.INFO).log("creating vector index");
+ client.getDatabase(DATABASE).runCommand(createSearchIndexDefinition());
+ Thread.sleep(5000); // this takes time
+ log.atLevel(Level.INFO).log("index 'plot_vector_index' created");
+ }
+
+ private void loadSampleData(Resource resource) throws IOException, InterruptedException {
+
+ log.atLevel(Level.INFO).log("Loading movies from {}", resource);
+
+ InputStream stream = new GZIPInputStream(resource.getInputStream());
+ ObjectMapper mapper = new ObjectMapper();
+ JsonNode node = mapper.readerFor(JsonNode.class).readTree(stream);
+
+ if (node.isArray()) {
+
+ Iterator elements = node.elements();
+ List> bulk = new ArrayList<>(node.size());
+
+ while (elements.hasNext()) {
+ bulk.add(new InsertOneModel<>(Document.parse(elements.next().toString())));
+ }
+
+ client.getDatabase(DATABASE).getCollection(COLLECTION).bulkWrite(bulk);
+ log.atLevel(Level.INFO).log("Created {} movies in {}.{}", node.size(), DATABASE, COLLECTION);
+ }
+
+ Thread.sleep(2000); // give writes a little time to complete'
+ }
+
+ private org.bson.Document createSearchIndexDefinition() {
+
+ List vectorFields = List.of(new org.bson.Document().append("type", "vector")
+ .append("path", "plot_embedding").append("numDimensions", 1536).append("similarity", "cosine"));
+
+ return new org.bson.Document().append("createSearchIndexes", COLLECTION).append("indexes",
+ List.of(new org.bson.Document().append("name", "plot_vector_index").append("type", "vectorSearch")
+ .append("definition", new org.bson.Document("fields", vectorFields))));
+ }
+}
diff --git a/mongodb/fragment-spi/sample/src/test/resources/mflix.embedded_movies.json.gz b/mongodb/fragment-spi/sample/src/test/resources/mflix.embedded_movies.json.gz
new file mode 100644
index 000000000..7c52d2b1d
Binary files /dev/null and b/mongodb/fragment-spi/sample/src/test/resources/mflix.embedded_movies.json.gz differ
diff --git a/mongodb/geo-json/pom.xml b/mongodb/geo-json/pom.xml
index 87a596d11..807756d2d 100644
--- a/mongodb/geo-json/pom.xml
+++ b/mongodb/geo-json/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data.examplesspring-data-mongodb-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-mongodb-geojson
@@ -18,6 +18,12 @@
jackson-databind
+
+ org.springframework.data.examples
+ spring-data-mongodb-example-utils
+ test
+
+
diff --git a/mongodb/geo-json/src/test/java/example/springdata/mongodb/geojson/StoreRepositoryTests.java b/mongodb/geo-json/src/test/java/example/springdata/mongodb/geojson/StoreRepositoryTests.java
index 1f454ce14..8a5e76730 100644
--- a/mongodb/geo-json/src/test/java/example/springdata/mongodb/geojson/StoreRepositoryTests.java
+++ b/mongodb/geo-json/src/test/java/example/springdata/mongodb/geojson/StoreRepositoryTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2015-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -15,11 +15,13 @@
*/
package example.springdata.mongodb.geojson;
+import example.springdata.mongodb.util.MongoContainers;
+
import org.bson.Document;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.data.geo.Point;
import org.springframework.data.geo.Polygon;
import org.springframework.data.mongodb.core.MongoOperations;
@@ -28,6 +30,12 @@
import org.springframework.data.mongodb.core.geo.GeoJsonPolygon;
import org.springframework.data.mongodb.core.query.BasicQuery;
import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* Integration tests for {@link StoreRepository}.
@@ -35,9 +43,18 @@
* @author Christoph Strobl
* @author Oliver Gierke
*/
+@Testcontainers
@DataMongoTest
class StoreRepositoryTests {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
private static final GeoJsonPolygon GEO_JSON_POLYGON = new GeoJsonPolygon(new Point(-73.992514, 40.758934),
new Point(-73.961138, 40.760348), new Point(-73.991658, 40.730006), new Point(-73.992514, 40.758934));
diff --git a/mongodb/geo-json/src/test/resources/application.properties b/mongodb/geo-json/src/test/resources/application.properties
deleted file mode 100644
index c59a689bc..000000000
--- a/mongodb/geo-json/src/test/resources/application.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-# Random port for embedded MongoDB
-spring.data.mongodb.port=0
diff --git a/mongodb/gridfs/pom.xml b/mongodb/gridfs/pom.xml
index c5ea22994..d79fb81eb 100644
--- a/mongodb/gridfs/pom.xml
+++ b/mongodb/gridfs/pom.xml
@@ -9,7 +9,15 @@
org.springframework.data.examplesspring-data-mongodb-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
+
+
+ org.springframework.data.examples
+ spring-data-mongodb-example-utils
+ test
+
+
+
diff --git a/mongodb/gridfs/src/test/java/example/springdata/mongodb/gridfs/GridFsTests.java b/mongodb/gridfs/src/test/java/example/springdata/mongodb/gridfs/GridFsTests.java
index aeca5f94d..c67432d07 100644
--- a/mongodb/gridfs/src/test/java/example/springdata/mongodb/gridfs/GridFsTests.java
+++ b/mongodb/gridfs/src/test/java/example/springdata/mongodb/gridfs/GridFsTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2018-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,6 +19,8 @@
import static org.springframework.data.mongodb.core.query.Query.*;
import static org.springframework.data.mongodb.gridfs.GridFsCriteria.*;
+import example.springdata.mongodb.util.MongoContainers;
+
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.IOException;
@@ -28,21 +30,36 @@
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.gridfs.GridFsOperations;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
import org.springframework.util.StreamUtils;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
+
/**
* Tests to show the usage of {@link GridFsOperations} with Spring Data MongoDB.
*
* @author Hartmut Lang
* @author Mark Paluch
*/
+@Testcontainers
@DataMongoTest
class GridFsTests {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Autowired GridFsOperations gridFsOperations;
@BeforeEach
diff --git a/mongodb/jmolecules/pom.xml b/mongodb/jmolecules/pom.xml
index d8cf89600..c1e592c7f 100644
--- a/mongodb/jmolecules/pom.xml
+++ b/mongodb/jmolecules/pom.xml
@@ -6,16 +6,23 @@
org.springframework.data.examplesspring-data-mongodb-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTSpring Data MongoDB - jMolecules Examplespring-data-mongodb-jmolecules
-
- 1.3.0
- 0.5.0
-
+
+
+
+ org.jmolecules
+ jmolecules-bom
+ 2025.0.0-RC4
+ pom
+ import
+
+
+
@@ -24,13 +31,23 @@
org.jmolecules.integrationsjmolecules-spring
- ${jmolecules-integration.version}org.jmoleculesjmolecules-events
- ${jmolecules.version}
+
+
+
+ org.jmolecules.integrations
+ jmolecules-bytebuddy-nodep
+ provided
+
+
+
+ org.springframework.data.examples
+ spring-data-mongodb-example-utils
+ test
@@ -44,19 +61,15 @@
- transform
+ transform-extended
-
-
- org.jmolecules.integrations
- jmolecules-bytebuddy
- ${jmolecules-integration.version}
-
-
+
+ true
+
-
\ No newline at end of file
+
diff --git a/mongodb/jmolecules/src/main/java/example/springdata/mongodb/customer/Customer.java b/mongodb/jmolecules/src/main/java/example/springdata/mongodb/customer/Customer.java
index 722bcbf96..6533a27d8 100644
--- a/mongodb/jmolecules/src/main/java/example/springdata/mongodb/customer/Customer.java
+++ b/mongodb/jmolecules/src/main/java/example/springdata/mongodb/customer/Customer.java
@@ -27,7 +27,7 @@
import org.jmolecules.ddd.types.AggregateRoot;
import org.jmolecules.ddd.types.Identifier;
-import org.springframework.data.annotation.PersistenceConstructor;
+import org.springframework.data.annotation.PersistenceCreator;
import org.springframework.util.Assert;
/**
@@ -35,7 +35,7 @@
*/
@Getter
@ToString
-@AllArgsConstructor(access = AccessLevel.PRIVATE, onConstructor = @__(@PersistenceConstructor))
+@AllArgsConstructor(access = AccessLevel.PRIVATE, onConstructor = @__(@PersistenceCreator))
public class Customer implements AggregateRoot {
private final CustomerId id;
diff --git a/mongodb/jmolecules/src/main/resources/application.properties b/mongodb/jmolecules/src/main/resources/application.properties
index e69de29bb..614eb4e8e 100644
--- a/mongodb/jmolecules/src/main/resources/application.properties
+++ b/mongodb/jmolecules/src/main/resources/application.properties
@@ -0,0 +1 @@
+spring.data.mongodb.uuid-representation=STANDARD
diff --git a/mongodb/jmolecules/src/test/java/example/springdata/mongodb/ApplicationIntegrationTests.java b/mongodb/jmolecules/src/test/java/example/springdata/mongodb/ApplicationIntegrationTests.java
index f3b6747f7..9e714d357 100644
--- a/mongodb/jmolecules/src/test/java/example/springdata/mongodb/ApplicationIntegrationTests.java
+++ b/mongodb/jmolecules/src/test/java/example/springdata/mongodb/ApplicationIntegrationTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -22,23 +22,39 @@
import example.springdata.mongodb.customer.Customers;
import example.springdata.mongodb.order.Order;
import example.springdata.mongodb.order.Orders;
+import example.springdata.mongodb.util.MongoContainers;
import lombok.RequiredArgsConstructor;
import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.mongodb.MongoDBContainer;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
/**
* @author Oliver Drotbohm
*/
@DataMongoTest
@RequiredArgsConstructor
+@Testcontainers
class ApplicationIntegrationTests {
private final ConfigurableApplicationContext context;
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Test
void exposesAssociationInMetamodel() {
diff --git a/mongodb/kotlin/pom.xml b/mongodb/kotlin/pom.xml
index 4fb1fb656..93508413b 100644
--- a/mongodb/kotlin/pom.xml
+++ b/mongodb/kotlin/pom.xml
@@ -6,7 +6,7 @@
org.springframework.data.examplesspring-data-mongodb-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-mongodb-kotlin
@@ -38,6 +38,11 @@
reactor-testtest
+
+ org.springframework.data.examples
+ spring-data-mongodb-example-utils
+ test
+
diff --git a/mongodb/kotlin/src/main/kotlin/example/springdata/mongodb/people/EmailAddress.kt b/mongodb/kotlin/src/main/kotlin/example/springdata/mongodb/people/EmailAddress.kt
new file mode 100644
index 000000000..7361e1524
--- /dev/null
+++ b/mongodb/kotlin/src/main/kotlin/example/springdata/mongodb/people/EmailAddress.kt
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2023 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.people
+
+/**
+ * @author Mark Paluch
+ */
+@JvmInline
+value class EmailAddress(val address: String) {
+
+}
diff --git a/mongodb/kotlin/src/main/kotlin/example/springdata/mongodb/people/Person.kt b/mongodb/kotlin/src/main/kotlin/example/springdata/mongodb/people/Person.kt
index 5780ad566..d56ebed07 100644
--- a/mongodb/kotlin/src/main/kotlin/example/springdata/mongodb/people/Person.kt
+++ b/mongodb/kotlin/src/main/kotlin/example/springdata/mongodb/people/Person.kt
@@ -16,13 +16,23 @@
package example.springdata.mongodb.people
import org.springframework.data.annotation.Id
-import org.springframework.data.annotation.PersistenceConstructor
+import org.springframework.data.annotation.PersistenceCreator
/**
* An entity to represent a Person.
*
* @author Mark Paluch
*/
-data class Person @PersistenceConstructor constructor(@Id val id: String?, val firstname: String? = "Walter", val lastname: String = "") {
- constructor(firstname: String?, lastname: String) : this(null, firstname, lastname);
+data class Person @PersistenceCreator constructor(
+ @Id val id: String?,
+ val firstname: String? = "Walter",
+ val lastname: String = "",
+ val email: EmailAddress?
+) {
+ constructor(firstname: String?, lastname: String) : this(
+ null,
+ firstname,
+ lastname,
+ null
+ );
}
diff --git a/mongodb/kotlin/src/main/kotlin/example/springdata/mongodb/people/PersonRepository.kt b/mongodb/kotlin/src/main/kotlin/example/springdata/mongodb/people/PersonRepository.kt
index 0aea533bf..eaa727a32 100644
--- a/mongodb/kotlin/src/main/kotlin/example/springdata/mongodb/people/PersonRepository.kt
+++ b/mongodb/kotlin/src/main/kotlin/example/springdata/mongodb/people/PersonRepository.kt
@@ -38,4 +38,6 @@ interface PersonRepository : CrudRepository {
* Query method requiring a result. Throws [org.springframework.dao.EmptyResultDataAccessException] if no result is found.
*/
fun findOneByFirstname(firstname: String): Person
+
+ fun findOneByEmail(emailAddress: EmailAddress): Person
}
diff --git a/mongodb/kotlin/src/test/kotlin/example/springdata/mongodb/people/FlowAndCoroutinesTests.kt b/mongodb/kotlin/src/test/kotlin/example/springdata/mongodb/people/FlowAndCoroutinesTests.kt
index f8fb71061..4b5fc5dee 100644
--- a/mongodb/kotlin/src/test/kotlin/example/springdata/mongodb/people/FlowAndCoroutinesTests.kt
+++ b/mongodb/kotlin/src/test/kotlin/example/springdata/mongodb/people/FlowAndCoroutinesTests.kt
@@ -1,11 +1,11 @@
/*
- * Copyright 2019-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -15,6 +15,7 @@
*/
package example.springdata.mongodb.people
+import example.springdata.mongodb.util.MongoContainers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.toList
import kotlinx.coroutines.reactive.asFlow
@@ -24,11 +25,15 @@ import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest
import org.springframework.data.mongodb.core.*
import org.springframework.data.mongodb.core.query.Criteria.where
import org.springframework.data.mongodb.core.query.Query
import org.springframework.data.mongodb.core.query.isEqualTo
+import org.springframework.test.context.DynamicPropertyRegistry
+import org.springframework.test.context.DynamicPropertySource
+import org.testcontainers.junit.jupiter.Container
+import org.testcontainers.junit.jupiter.Testcontainers
import reactor.test.StepVerifier
/**
@@ -36,9 +41,21 @@ import reactor.test.StepVerifier
*
* @author Christoph Strobl
*/
+@Testcontainers
@DataMongoTest
class FlowAndCoroutinesTests {
+ companion object {
+ @Container //
+ private val mongoDBContainer = MongoContainers.getDefaultContainer()
+
+ @JvmStatic
+ @DynamicPropertySource
+ fun setProperties(registry: DynamicPropertyRegistry) {
+ registry.add("spring.data.mongodb.uri") { mongoDBContainer.replicaSetUrl }
+ }
+ }
+
@Autowired
lateinit var operations: ReactiveMongoOperations
diff --git a/mongodb/kotlin/src/test/kotlin/example/springdata/mongodb/people/MongoDslTests.kt b/mongodb/kotlin/src/test/kotlin/example/springdata/mongodb/people/MongoDslTests.kt
index b4f35d47b..ef5ca51f1 100644
--- a/mongodb/kotlin/src/test/kotlin/example/springdata/mongodb/people/MongoDslTests.kt
+++ b/mongodb/kotlin/src/test/kotlin/example/springdata/mongodb/people/MongoDslTests.kt
@@ -1,11 +1,11 @@
/*
- * Copyright 2019-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -15,13 +15,12 @@
*/
package example.springdata.mongodb.people;
+import example.springdata.mongodb.util.MongoContainers
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
-import org.junit.runner.RunWith
import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest
-import org.springframework.boot.test.context.SpringBootTest
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest
import org.springframework.data.mongodb.core.MongoOperations
import org.springframework.data.mongodb.core.dropCollection
import org.springframework.data.mongodb.core.find
@@ -30,16 +29,31 @@ import org.springframework.data.mongodb.core.query.Criteria
import org.springframework.data.mongodb.core.query.Query
import org.springframework.data.mongodb.core.query.isEqualTo
import org.springframework.data.mongodb.core.query.regex
-import org.springframework.test.context.junit4.SpringRunner
+import org.springframework.test.context.DynamicPropertyRegistry
+import org.springframework.test.context.DynamicPropertySource
+import org.testcontainers.junit.jupiter.Container
+import org.testcontainers.junit.jupiter.Testcontainers
/**
* Tests showing the Mongo Criteria DSL.
*
* @author Christoph Strobl
*/
+@Testcontainers
@DataMongoTest
class MongoDslTests {
+ companion object {
+ @Container //
+ private val mongoDBContainer = MongoContainers.getDefaultContainer()
+
+ @JvmStatic
+ @DynamicPropertySource
+ fun setProperties(registry: DynamicPropertyRegistry) {
+ registry.add("spring.data.mongodb.uri") { mongoDBContainer.replicaSetUrl }
+ }
+ }
+
@Autowired
lateinit var operations: MongoOperations
diff --git a/mongodb/kotlin/src/test/kotlin/example/springdata/mongodb/people/RepositoryTests.kt b/mongodb/kotlin/src/test/kotlin/example/springdata/mongodb/people/RepositoryTests.kt
index e7fefdcf6..3f1d4be1c 100644
--- a/mongodb/kotlin/src/test/kotlin/example/springdata/mongodb/people/RepositoryTests.kt
+++ b/mongodb/kotlin/src/test/kotlin/example/springdata/mongodb/people/RepositoryTests.kt
@@ -1,11 +1,11 @@
/*
- * Copyright 2018-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -15,22 +15,39 @@
*/
package example.springdata.mongodb.people
+import example.springdata.mongodb.util.MongoContainers
import org.assertj.core.api.Assertions.assertThat
import org.assertj.core.api.Assertions.assertThatThrownBy
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest
import org.springframework.dao.EmptyResultDataAccessException
+import org.springframework.test.context.DynamicPropertyRegistry
+import org.springframework.test.context.DynamicPropertySource
+import org.testcontainers.junit.jupiter.Container
+import org.testcontainers.junit.jupiter.Testcontainers
/**
* Tests showing Kotlin usage of Spring Data Repositories.
*
* @author Mark Paluch
*/
+@Testcontainers
@DataMongoTest
class RepositoryTests {
+ companion object {
+ @Container //
+ private val mongoDBContainer = MongoContainers.getDefaultContainer()
+
+ @JvmStatic
+ @DynamicPropertySource
+ fun setProperties(registry: DynamicPropertyRegistry) {
+ registry.add("spring.data.mongodb.uri") { mongoDBContainer.replicaSetUrl }
+ }
+ }
+
@Autowired
lateinit var repository: PersonRepository
@@ -51,6 +68,23 @@ class RepositoryTests {
assertThat(walter.lastname).isEqualTo("White")
}
+ @Test
+ fun `should find one person by email`() {
+
+ repository.save(
+ Person(
+ null,
+ "Walter",
+ "White",
+ EmailAddress("heisenberg@gmail.com")
+ )
+ )
+
+ val walter = repository.findOneByEmail(EmailAddress("heisenberg@gmail.com"))
+
+ assertThat(walter.email?.address).isEqualTo("heisenberg@gmail.com")
+ }
+
@Test
fun `should return null if no person found`() {
diff --git a/mongodb/kotlin/src/test/kotlin/example/springdata/mongodb/people/TemplateTests.kt b/mongodb/kotlin/src/test/kotlin/example/springdata/mongodb/people/TemplateTests.kt
index 78f65fb3d..31e503d38 100644
--- a/mongodb/kotlin/src/test/kotlin/example/springdata/mongodb/people/TemplateTests.kt
+++ b/mongodb/kotlin/src/test/kotlin/example/springdata/mongodb/people/TemplateTests.kt
@@ -1,11 +1,11 @@
/*
- * Copyright 2018-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -15,25 +15,42 @@
*/
package example.springdata.mongodb.people
+import example.springdata.mongodb.util.MongoContainers
import org.assertj.core.api.Assertions.assertThat
import org.bson.Document
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest
import org.springframework.data.mongodb.core.*
import org.springframework.data.mongodb.core.query.Criteria.where
import org.springframework.data.mongodb.core.query.Query.query
import org.springframework.data.mongodb.core.query.isEqualTo
+import org.springframework.test.context.DynamicPropertyRegistry
+import org.springframework.test.context.DynamicPropertySource
+import org.testcontainers.junit.jupiter.Container
+import org.testcontainers.junit.jupiter.Testcontainers
/**
* Tests showing Kotlin usage of [MongoTemplate] and its Kotlin extensions.
*
* @author Mark Paluch
*/
+@Testcontainers
@DataMongoTest
class TemplateTests {
+ companion object {
+ @Container //
+ private val mongoDBContainer = MongoContainers.getDefaultContainer()
+
+ @JvmStatic
+ @DynamicPropertySource
+ fun setProperties(registry: DynamicPropertyRegistry) {
+ registry.add("spring.data.mongodb.uri") { mongoDBContainer.replicaSetUrl }
+ }
+ }
+
@Autowired
lateinit var operations: MongoOperations
diff --git a/mongodb/linking/README.md b/mongodb/linking/README.md
new file mode 100644
index 000000000..c550b1edb
--- /dev/null
+++ b/mongodb/linking/README.md
@@ -0,0 +1,62 @@
+# Spring Data MongoDB - Linking Example
+
+This project contains examples for linking Documents using:
+
+* `@DBRef`
+* `@DocumentReference`
+
+## DBRef
+
+Use MongoDB native `dbref` for storing associations.
+
+```java
+class Manager {
+
+ @DBRef
+ private List employees;
+
+ // ...
+}
+```
+
+## DocumentReference
+
+Link documents via their id.
+
+```java
+class Manager {
+
+ @DocumentReference
+ private List employees;
+
+ // ...
+}
+```
+
+Link documents via a (non _id_) property.
+
+```java
+class Manager {
+
+ @DocumentReference(lookup = "{ 'name' : ?#{#target} }")
+ private List employees;
+
+ // ...
+}
+```
+
+Link documents JPA style.
+
+```java
+class Manager {
+
+ @ReadOnlyProperty
+ @DocumentReference(lookup="{'managerId':?#{#self._id} }")
+ private List employees;
+
+ // ...
+}
+```
+----
+
+For more information please refer to the [Reference Documentation](https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#mapping-usage-references).
diff --git a/mongodb/linking/pom.xml b/mongodb/linking/pom.xml
new file mode 100644
index 000000000..1f0457bbd
--- /dev/null
+++ b/mongodb/linking/pom.xml
@@ -0,0 +1,24 @@
+
+ 4.0.0
+
+ spring-data-mongodb-linking-example
+
+ Spring Data MongoDB - Linking Example
+
+
+ org.springframework.data.examples
+ spring-data-mongodb-examples
+ 4.0.0-SNAPSHOT
+
+
+
+
+
+ org.springframework.data.examples
+ spring-data-mongodb-example-utils
+ test
+
+
+
+
diff --git a/geode/events/src/main/java/example/springdata/geode/server/events/ProductRepository.java b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/dbref/ApplicationConfiguration.java
old mode 100755
new mode 100644
similarity index 68%
rename from geode/events/src/main/java/example/springdata/geode/server/events/ProductRepository.java
rename to mongodb/linking/src/main/java/example/springdata/mongodb/linking/dbref/ApplicationConfiguration.java
index 12bf841b8..1a254a5b6
--- a/geode/events/src/main/java/example/springdata/geode/server/events/ProductRepository.java
+++ b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/dbref/ApplicationConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,11 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.geode.server.events;
+package example.springdata.mongodb.linking.dbref;
-import org.springframework.data.repository.CrudRepository;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
- * @author Patrick Johnson
+ * @author Christoph Strobl
*/
-public interface ProductRepository extends CrudRepository {}
+@SpringBootApplication
+class ApplicationConfiguration {}
diff --git a/mongodb/linking/src/main/java/example/springdata/mongodb/linking/dbref/Employee.java b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/dbref/Employee.java
new file mode 100644
index 000000000..ac9df3d21
--- /dev/null
+++ b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/dbref/Employee.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2021 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.linking.dbref;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.DBRef;
+
+/**
+ * @author Christoph Strobl
+ */
+class Employee {
+
+ @Id
+ private String id;
+ private String name;
+
+ @DBRef(lazy = true) // lazy to avoid stackoverflow on load
+ private Manager manager;
+
+ public Employee() {
+ }
+
+ public Employee(String id, String name) {
+ this.id = id;
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Manager getManager() {
+ return manager;
+ }
+
+ public void setManager(Manager manager) {
+ this.manager = manager;
+ }
+}
diff --git a/mongodb/linking/src/main/java/example/springdata/mongodb/linking/dbref/Manager.java b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/dbref/Manager.java
new file mode 100644
index 000000000..59ec08136
--- /dev/null
+++ b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/dbref/Manager.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2021 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.linking.dbref;
+
+import java.util.List;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.DBRef;
+
+/**
+ * @author Christoph Strobl
+ */
+class Manager {
+
+ @Id //
+ private String id;
+ private String name;
+
+ @DBRef //
+ private List employees;
+
+ public Manager() {
+ }
+
+ public Manager(String id, String name) {
+ this.id = id;
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public List getEmployees() {
+ return employees;
+ }
+
+ public void setEmployees(List employees) {
+ this.employees = employees;
+ }
+}
diff --git a/geode/events/src/main/java/example/springdata/geode/server/events/CustomerRepository.java b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/jpastyle/ApplicationConfiguration.java
old mode 100755
new mode 100644
similarity index 68%
rename from geode/events/src/main/java/example/springdata/geode/server/events/CustomerRepository.java
rename to mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/jpastyle/ApplicationConfiguration.java
index e589f0673..bbe8830b5
--- a/geode/events/src/main/java/example/springdata/geode/server/events/CustomerRepository.java
+++ b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/jpastyle/ApplicationConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,12 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.geode.server.events;
+package example.springdata.mongodb.linking.docref.jpastyle;
-import org.springframework.data.repository.CrudRepository;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
- * @author Patrick Johnson
+ * @author Christoph Strobl
*/
-public interface CustomerRepository extends CrudRepository {
+@SpringBootApplication
+class ApplicationConfiguration {
+
}
diff --git a/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/jpastyle/Employee.java b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/jpastyle/Employee.java
new file mode 100644
index 000000000..e56983d39
--- /dev/null
+++ b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/jpastyle/Employee.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2021 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.linking.docref.jpastyle;
+
+import org.springframework.data.annotation.Id;
+
+/**
+ * @author Christoph Strobl
+ */
+class Employee {
+
+ @Id
+ private String id;
+ private String name;
+
+ /**
+ * Only hold the id of the manager to link to it.
+ */
+ private String managerId;
+
+ public Employee() {
+ }
+
+ public Employee(String id, String name) {
+ this.id = id;
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getManagerId() {
+ return managerId;
+ }
+
+ public void setManagerId(String managerId) {
+ this.managerId = managerId;
+ }
+}
diff --git a/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/jpastyle/Manager.java b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/jpastyle/Manager.java
new file mode 100644
index 000000000..e043cf240
--- /dev/null
+++ b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/jpastyle/Manager.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2021 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.linking.docref.jpastyle;
+
+import java.util.List;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.annotation.ReadOnlyProperty;
+import org.springframework.data.mongodb.core.mapping.DocumentReference;
+
+/**
+ * @author Christoph Strobl
+ */
+class Manager {
+
+ @Id //
+ private String id;
+ private String name;
+
+ /**
+ * Uses the {@literal this.id} to look up documents in the {@literal employee} collection
+ * that have a matching {@literal managerId} field value.
+ */
+ @ReadOnlyProperty
+ @DocumentReference(lookup="{'managerId':?#{#self._id} }")
+ private List employees;
+
+ public Manager() {
+ }
+
+ public Manager(String id, String name) {
+ this.id = id;
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public List getEmployees() {
+ return employees;
+ }
+
+ public void setEmployees(List employees) {
+ this.employees = employees;
+ }
+}
diff --git a/geode/storage/src/main/java/example/springdata/geode/server/storage/ProductRepository.java b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/query/ApplicationConfiguration.java
old mode 100755
new mode 100644
similarity index 68%
rename from geode/storage/src/main/java/example/springdata/geode/server/storage/ProductRepository.java
rename to mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/query/ApplicationConfiguration.java
index eeb106243..8d4d004ee
--- a/geode/storage/src/main/java/example/springdata/geode/server/storage/ProductRepository.java
+++ b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/query/ApplicationConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,11 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.geode.server.storage;
+package example.springdata.mongodb.linking.docref.query;
-import org.springframework.data.repository.CrudRepository;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
- * @author Patrick Johnson
+ * @author Christoph Strobl
*/
-public interface ProductRepository extends CrudRepository {}
+@SpringBootApplication
+class ApplicationConfiguration {}
diff --git a/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/query/Employee.java b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/query/Employee.java
new file mode 100644
index 000000000..853647916
--- /dev/null
+++ b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/query/Employee.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2021 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.linking.docref.query;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.DocumentReference;
+
+/**
+ * @author Christoph Strobl
+ */
+class Employee {
+
+ @Id
+ private String id;
+ private String name;
+
+ @DocumentReference(lazy = true) // lazy to avoid stackoverflow on load
+ private Manager manager;
+
+ public Employee() {
+ }
+
+ public Employee(String id, String name) {
+ this.id = id;
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Manager getManager() {
+ return manager;
+ }
+
+ public void setManager(Manager manager) {
+ this.manager = manager;
+ }
+}
diff --git a/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/query/Manager.java b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/query/Manager.java
new file mode 100644
index 000000000..6860574b8
--- /dev/null
+++ b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/query/Manager.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright 2021 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.linking.docref.query;
+
+import java.util.List;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.DocumentReference;
+
+/**
+ * @author Christoph Strobl
+ */
+class Manager {
+
+ @Id //
+ private String id;
+ private String name;
+
+ /**
+ * Uses the value stored in the {@literal employees} field of the {@literal manager} document to look up
+ * documents in the {@literal employee} collection that have a matching {@literal name} field value.
+ */
+ @DocumentReference(lookup = "{ 'name' : ?#{#target} }") //
+ private List employees;
+
+ public Manager() {
+ }
+
+ public Manager(String id, String name) {
+ this.id = id;
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public List getEmployees() {
+ return employees;
+ }
+
+ public void setEmployees(List employees) {
+ this.employees = employees;
+ }
+}
diff --git a/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/simple/ApplicationConfiguration.java b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/simple/ApplicationConfiguration.java
new file mode 100644
index 000000000..8a728623b
--- /dev/null
+++ b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/simple/ApplicationConfiguration.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2021 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.linking.docref.simple;
+
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ * @author Christoph Strobl
+ */
+@SpringBootApplication
+class ApplicationConfiguration {}
diff --git a/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/simple/Employee.java b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/simple/Employee.java
new file mode 100644
index 000000000..04cb2fe0f
--- /dev/null
+++ b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/simple/Employee.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2021 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.linking.docref.simple;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.DBRef;
+import org.springframework.data.mongodb.core.mapping.DocumentReference;
+
+/**
+ * @author Christoph Strobl
+ */
+class Employee {
+
+ @Id
+ private String id;
+ private String name;
+
+ @DocumentReference(lazy = true) // lazy to avoid stackoverflow on load
+ private Manager manager;
+
+ public Employee() {
+ }
+
+ public Employee(String id, String name) {
+ this.id = id;
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Manager getManager() {
+ return manager;
+ }
+
+ public void setManager(Manager manager) {
+ this.manager = manager;
+ }
+}
diff --git a/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/simple/Manager.java b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/simple/Manager.java
new file mode 100644
index 000000000..c9a3aead0
--- /dev/null
+++ b/mongodb/linking/src/main/java/example/springdata/mongodb/linking/docref/simple/Manager.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright 2021 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.linking.docref.simple;
+
+import java.util.List;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.DocumentReference;
+
+/**
+ * @author Christoph Strobl
+ */
+class Manager {
+
+ @Id //
+ private String id;
+ private String name;
+
+ /**
+ * Uses the value stored in the {@literal employees} field of the {@literal manager} document to look up
+ * documents in the {@literal employee} collection that have a matching {@literal _id} field value.
+ */
+ @DocumentReference //
+ private List employees;
+
+ public Manager() {
+ }
+
+ public Manager(String id, String name) {
+ this.id = id;
+ this.name = name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public List getEmployees() {
+ return employees;
+ }
+
+ public void setEmployees(List employees) {
+ this.employees = employees;
+ }
+}
diff --git a/mongodb/linking/src/test/java/example/springdata/mongodb/linking/dbref/DBRefTests.java b/mongodb/linking/src/test/java/example/springdata/mongodb/linking/dbref/DBRefTests.java
new file mode 100644
index 000000000..d96014e05
--- /dev/null
+++ b/mongodb/linking/src/test/java/example/springdata/mongodb/linking/dbref/DBRefTests.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.linking.dbref;
+
+import static org.assertj.core.api.Assertions.*;
+import static org.springframework.data.mongodb.core.query.Criteria.*;
+
+import example.springdata.mongodb.util.MongoContainers;
+
+import java.util.List;
+
+import org.bson.Document;
+import org.junit.jupiter.api.Test;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
+import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.data.mongodb.core.query.Update;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
+
+import com.mongodb.DBRef;
+
+/**
+ * @author Christoph Strobl
+ */
+@Testcontainers
+@DataMongoTest
+public class DBRefTests {
+
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
+ @Autowired MongoOperations operations;
+
+ @Test
+ void saveAndLoadDbRef() {
+
+ Manager manager = new Manager("jabba-the-hutt", "jabba");
+
+ operations.save(manager);
+
+ Employee employee1 = new Employee("greedo-tetsu-jr", "greedo");
+ employee1.setManager(manager);
+ operations.save(employee1);
+ operations.update(Manager.class) //
+ .matching(where("id").is(manager.getId())) //
+ .apply(new Update().push("employees").value(employee1)) //
+ .first();
+
+ Employee employee2 = new Employee("boba-fett", "boba");
+ employee2.setManager(manager);
+ operations.save(employee2);
+ operations.update(Manager.class) //
+ .matching(where("id").is(manager.getId())) //
+ .apply(new Update().push("employees").value(employee2)) //
+ .first();
+
+ operations.execute(Manager.class, collection -> {
+
+ Document rawManager = collection.find(new Document("_id", manager.getId())).first();
+ assertThat(rawManager.get("employees", List.class)) //
+ .containsExactly( //
+ new DBRef("employee", "greedo-tetsu-jr"), //
+ new DBRef("employee", "boba-fett") //
+ );
+ return "OK";
+ });
+
+ Manager loaded = operations.query(Manager.class)
+ .matching(where("id").is(manager.getId()))
+ .firstValue();
+
+ assertThat(loaded.getEmployees()) //
+ .allMatch(it -> it instanceof Employee) //
+ .extracting("name").containsExactly("greedo", "boba");
+ }
+}
diff --git a/mongodb/linking/src/test/java/example/springdata/mongodb/linking/docref/jpastyle/JpaStyleDocRefTests.java b/mongodb/linking/src/test/java/example/springdata/mongodb/linking/docref/jpastyle/JpaStyleDocRefTests.java
new file mode 100644
index 000000000..f3c7f85c0
--- /dev/null
+++ b/mongodb/linking/src/test/java/example/springdata/mongodb/linking/docref/jpastyle/JpaStyleDocRefTests.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.linking.docref.jpastyle;
+
+import static org.assertj.core.api.Assertions.*;
+import static org.springframework.data.mongodb.core.query.Criteria.*;
+
+import example.springdata.mongodb.util.MongoContainers;
+
+import org.bson.Document;
+import org.junit.jupiter.api.Test;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
+import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
+
+/**
+ * @author Christoph Strobl
+ */
+@Testcontainers
+@DataMongoTest
+public class JpaStyleDocRefTests {
+
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
+ @Autowired MongoOperations operations;
+
+ /**
+ * Load linked documents where the actual reference is stored in the obverse side of the association.
+ */
+ @Test
+ void saveAndLoadJpaStyleRelation() {
+
+ Manager manager = new Manager("jabba-the-hutt", "jabba");
+
+ operations.save(manager);
+
+ Employee employee1 = new Employee("greedo-tetsu-jr", "greedo");
+ employee1.setManagerId(manager.getId()); // establish the link to the manager document
+ operations.save(employee1);
+ // no need to update the manager document after save of employee
+
+ Employee employee2 = new Employee("boba-fett", "boba");
+ employee2.setManagerId(manager.getId()); // establish the link to the manager document
+ operations.save(employee2);
+ // no need to update the manager document after save of employee
+
+ operations.execute(Manager.class, collection -> {
+
+ Document rawManager = collection.find(new Document("_id", manager.getId())).first();
+ assertThat(rawManager).doesNotContainKey("employees");
+ return "OK";
+ });
+
+ Manager loaded = operations.query(Manager.class)
+ .matching(where("id").is(manager.getId()))
+ .firstValue();
+
+ assertThat(loaded.getEmployees()) //
+ .allMatch(it -> it instanceof Employee) //
+ .extracting("name").containsExactly("greedo", "boba");
+ }
+}
diff --git a/mongodb/linking/src/test/java/example/springdata/mongodb/linking/docref/query/QueryDocRefTests.java b/mongodb/linking/src/test/java/example/springdata/mongodb/linking/docref/query/QueryDocRefTests.java
new file mode 100644
index 000000000..c147d128b
--- /dev/null
+++ b/mongodb/linking/src/test/java/example/springdata/mongodb/linking/docref/query/QueryDocRefTests.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.linking.docref.query;
+
+import static org.assertj.core.api.Assertions.*;
+import static org.springframework.data.mongodb.core.query.Criteria.*;
+
+import example.springdata.mongodb.util.MongoContainers;
+
+import java.util.List;
+
+import org.bson.Document;
+import org.junit.jupiter.api.Test;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
+import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.data.mongodb.core.query.Update;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
+
+/**
+ * @author Christoph Strobl
+ */
+@Testcontainers
+@DataMongoTest
+public class QueryDocRefTests {
+
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
+ @Autowired MongoOperations operations;
+
+ /**
+ * Load linked documents where the reference is stored on the inverse and evaluated against a non id property on
+ * the obverse side of the association.
+ */
+ @Test
+ void saveAndLoadDocRefViaQuery() {
+
+ Manager manager = new Manager("jabba-the-hutt", "jabba");
+
+ operations.save(manager);
+
+ Employee employee1 = new Employee("greedo-tetsu-jr", "greedo");
+ employee1.setManager(manager); // back-link to the manager document
+ operations.save(employee1);
+ operations.update(Manager.class) // establish the link to the employee document via employee.name
+ .matching(where("id").is(manager.getId())) //
+ .apply(new Update().push("employees").value(employee1.getName())) //
+ .first();
+
+ Employee employee2 = new Employee("boba-fett", "boba");
+ employee2.setManager(manager); // back-link to the manager document
+ operations.save(employee2);
+ operations.update(Manager.class) // establish the link to the employee document via employee.name
+ .matching(where("id").is(manager.getId())) //
+ .apply(new Update().push("employees").value(employee2.getName())) //
+ .first();
+
+ operations.execute(Manager.class, collection -> {
+
+ Document rawManager = collection.find(new Document("_id", manager.getId())).first();
+ assertThat(rawManager.get("employees", List.class)) //
+ .containsExactly("greedo", "boba");
+ return "OK";
+ });
+
+ Manager loaded = operations.query(Manager.class)
+ .matching(where("id").is(manager.getId()))
+ .firstValue();
+
+ assertThat(loaded.getEmployees()) //
+ .allMatch(it -> it instanceof Employee) //
+ .extracting("name").containsExactly("greedo", "boba");
+ }
+}
diff --git a/mongodb/linking/src/test/java/example/springdata/mongodb/linking/docref/simple/SimpleDocRefTests.java b/mongodb/linking/src/test/java/example/springdata/mongodb/linking/docref/simple/SimpleDocRefTests.java
new file mode 100644
index 000000000..9cd183b0d
--- /dev/null
+++ b/mongodb/linking/src/test/java/example/springdata/mongodb/linking/docref/simple/SimpleDocRefTests.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.linking.docref.simple;
+
+import static org.assertj.core.api.Assertions.*;
+import static org.springframework.data.mongodb.core.query.Criteria.*;
+
+import example.springdata.mongodb.util.MongoContainers;
+
+import java.util.List;
+
+import org.bson.Document;
+import org.junit.jupiter.api.Test;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
+import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.data.mongodb.core.query.Update;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
+
+/**
+ * @author Christoph Strobl
+ */
+@Testcontainers
+@DataMongoTest
+public class SimpleDocRefTests {
+
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
+ @Autowired MongoOperations operations;
+
+ /**
+ * Load linked documents where the reference is stored on the inverse and evaluated against the id property on
+ * the obverse side of the association.
+ */
+ @Test
+ void saveAndLoadDocRef() {
+
+ Manager manager = new Manager("jabba-the-hutt", "jabba");
+
+ operations.save(manager);
+
+ Employee employee1 = new Employee("greedo-tetsu-jr", "greedo");
+ employee1.setManager(manager); // back-link to the manager document
+ operations.save(employee1);
+ operations.update(Manager.class) // establish the link to the employee document via employee.id
+ .matching(where("id").is(manager.getId())) //
+ .apply(new Update().push("employees").value(employee1)) //
+ .first();
+
+ Employee employee2 = new Employee("boba-fett", "boba");
+ employee2.setManager(manager); // back-link to the manager document
+ operations.save(employee2);
+ operations.update(Manager.class) // establish the link to the employee document via employee.id
+ .matching(where("id").is(manager.getId())) //
+ .apply(new Update().push("employees").value(employee2)) //
+ .first();
+
+ operations.execute(Manager.class, collection -> {
+
+ Document rawManager = collection.find(new Document("_id", manager.getId())).first();
+ assertThat(rawManager.get("employees", List.class)) //
+ .containsExactly("greedo-tetsu-jr", "boba-fett");
+ return "OK";
+ });
+
+ Manager loaded = operations.query(Manager.class)
+ .matching(where("id").is(manager.getId()))
+ .firstValue();
+
+ assertThat(loaded.getEmployees()) //
+ .allMatch(it -> it instanceof Employee) //
+ .extracting("name").containsExactly("greedo", "boba");
+ }
+}
diff --git a/mongodb/pom.xml b/mongodb/pom.xml
index ff85fcde3..8ca1d2a87 100644
--- a/mongodb/pom.xml
+++ b/mongodb/pom.xml
@@ -8,33 +8,46 @@
org.springframework.data.examplesspring-data-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTSpring Data MongoDB - ExamplesSample projects for Spring Data MongoDB
- https://projects.spring.io/spring-data-mongodb
+ https://spring.io/spring-data-mongodb2011
- aggregation
- change-streams
+ aot-optimization
+ aggregation
+
examplefluent-apigeo-jsongridfs
- jmolecules
+
kotlinquery-by-examplereactiverepository-metricssecuritytext-search
- transactions
+
schema-validationquerydsl
+ linkingutil
-
+ fragment-spi
+
+
+
+
+
+ org.springframework.data.examples
+ spring-data-mongodb-example-utils
+ ${project.version}
+
+
+
@@ -43,6 +56,12 @@
spring-boot-starter-data-mongodb
+
+ org.springframework.boot
+ spring-boot-data-mongodb-test
+ test
+
+
com.querydslquerydsl-mongodb
@@ -60,9 +79,15 @@
- de.flapdoodle.embed
- de.flapdoodle.embed.mongo
- provided
+ org.testcontainers
+ testcontainers-junit-jupiter
+ test
+
+
+
+ org.testcontainers
+ testcontainers-mongodb
+ test
diff --git a/mongodb/query-by-example/pom.xml b/mongodb/query-by-example/pom.xml
index bb2e08281..3d1a043f1 100644
--- a/mongodb/query-by-example/pom.xml
+++ b/mongodb/query-by-example/pom.xml
@@ -5,10 +5,19 @@
org.springframework.data.examplesspring-data-mongodb-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-mongodb-query-by-exampleSpring Data MongoDB - Query-by-Example (QBE)
+
+
+
+ org.springframework.data.examples
+ spring-data-mongodb-example-utils
+ test
+
+
+
diff --git a/mongodb/query-by-example/src/main/java/example/springdata/mongodb/querybyexample/ContactRepository.java b/mongodb/query-by-example/src/main/java/example/springdata/mongodb/querybyexample/ContactRepository.java
index 22a4313d2..299446ec0 100644
--- a/mongodb/query-by-example/src/main/java/example/springdata/mongodb/querybyexample/ContactRepository.java
+++ b/mongodb/query-by-example/src/main/java/example/springdata/mongodb/querybyexample/ContactRepository.java
@@ -20,7 +20,7 @@
import org.springframework.data.repository.query.QueryByExampleExecutor;
/**
- * Repository interface for {@link Contact} and sub-types.
+ * Repository interface for {@link Contact} and subtypes.
*
* @author Oliver Gierke
*/
diff --git a/mongodb/query-by-example/src/test/java/example/springdata/mongodb/querybyexample/ContactRepositoryIntegrationTests.java b/mongodb/query-by-example/src/test/java/example/springdata/mongodb/querybyexample/ContactRepositoryIntegrationTests.java
index 0941d42cc..3e752bfce 100644
--- a/mongodb/query-by-example/src/test/java/example/springdata/mongodb/querybyexample/ContactRepositoryIntegrationTests.java
+++ b/mongodb/query-by-example/src/test/java/example/springdata/mongodb/querybyexample/ContactRepositoryIntegrationTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2016-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -18,13 +18,21 @@
import static org.assertj.core.api.Assertions.*;
import static org.springframework.data.domain.ExampleMatcher.*;
+import example.springdata.mongodb.util.MongoContainers;
+
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.data.domain.Example;
import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* Integration test showing the usage of MongoDB Query-by-Example support through Spring Data repositories for a case
@@ -34,9 +42,18 @@
* @author Oliver Gierke
* @soundtrack Paul van Dyk - VONYC Sessions Episode 496 with guest Armin van Buuren
*/
+@Testcontainers
@DataMongoTest
class ContactRepositoryIntegrationTests {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Autowired UserRepository userRepository;
@Autowired ContactRepository contactRepository;
@Autowired MongoOperations mongoOperations;
diff --git a/mongodb/query-by-example/src/test/java/example/springdata/mongodb/querybyexample/MongoOperationsIntegrationTests.java b/mongodb/query-by-example/src/test/java/example/springdata/mongodb/querybyexample/MongoOperationsIntegrationTests.java
index 884d5a086..671ffbb58 100644
--- a/mongodb/query-by-example/src/test/java/example/springdata/mongodb/querybyexample/MongoOperationsIntegrationTests.java
+++ b/mongodb/query-by-example/src/test/java/example/springdata/mongodb/querybyexample/MongoOperationsIntegrationTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2016-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -16,24 +16,30 @@
package example.springdata.mongodb.querybyexample;
-import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.*;
import static org.springframework.data.domain.ExampleMatcher.*;
import static org.springframework.data.domain.ExampleMatcher.GenericPropertyMatchers.*;
-import static org.springframework.data.domain.ExampleMatcher.GenericPropertyMatchers.startsWith;
import static org.springframework.data.mongodb.core.query.Criteria.*;
import static org.springframework.data.mongodb.core.query.Query.*;
+import example.springdata.mongodb.util.MongoContainers;
+
import java.util.Optional;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.data.domain.Example;
-import org.springframework.data.domain.ExampleMatcher.StringMatcher;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* Integration test showing the usage of MongoDB Query-by-Example support through Spring Data repositories.
@@ -42,9 +48,18 @@
* @author Oliver Gierke
*/
@SuppressWarnings("unused")
+@Testcontainers
@DataMongoTest
class MongoOperationsIntegrationTests {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Autowired MongoOperations operations;
private Person skyler, walter, flynn, marie, hank;
diff --git a/mongodb/query-by-example/src/test/java/example/springdata/mongodb/querybyexample/UserRepositoryIntegrationTests.java b/mongodb/query-by-example/src/test/java/example/springdata/mongodb/querybyexample/UserRepositoryIntegrationTests.java
index 2305aa99c..b817869ea 100644
--- a/mongodb/query-by-example/src/test/java/example/springdata/mongodb/querybyexample/UserRepositoryIntegrationTests.java
+++ b/mongodb/query-by-example/src/test/java/example/springdata/mongodb/querybyexample/UserRepositoryIntegrationTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2016-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,15 +19,22 @@
import static org.springframework.data.domain.ExampleMatcher.*;
import static org.springframework.data.domain.ExampleMatcher.GenericPropertyMatchers.*;
+import example.springdata.mongodb.util.MongoContainers;
+
import java.util.Optional;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.data.domain.Example;
-import org.springframework.data.domain.ExampleMatcher.*;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* Integration test showing the usage of MongoDB Query-by-Example support through Spring Data repositories.
@@ -37,9 +44,18 @@
* @author Jens Schauder
*/
@SuppressWarnings("unused")
+@Testcontainers
@DataMongoTest
class UserRepositoryIntegrationTests {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Autowired UserRepository repository;
private Person skyler, walter, flynn, marie, hank;
diff --git a/mongodb/querydsl/pom.xml b/mongodb/querydsl/pom.xml
index 24ee33e75..c2c8edfd1 100644
--- a/mongodb/querydsl/pom.xml
+++ b/mongodb/querydsl/pom.xml
@@ -9,7 +9,7 @@
org.springframework.data.examplesspring-data-mongodb-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
@@ -23,6 +23,13 @@
reactor-testtest
+
+
+ org.springframework.data.examples
+ spring-data-mongodb-example-utils
+ test
+
+
diff --git a/mongodb/querydsl/src/test/java/example/springdata/mongodb/imperative/CustomerRepositoryTests.java b/mongodb/querydsl/src/test/java/example/springdata/mongodb/imperative/CustomerRepositoryTests.java
index 887cf8e70..4d980b7a0 100644
--- a/mongodb/querydsl/src/test/java/example/springdata/mongodb/imperative/CustomerRepositoryTests.java
+++ b/mongodb/querydsl/src/test/java/example/springdata/mongodb/imperative/CustomerRepositoryTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2019-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,20 +19,36 @@
import example.springdata.mongodb.Customer;
import example.springdata.mongodb.QCustomer;
+import example.springdata.mongodb.util.MongoContainers;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* @author Christoph Strobl
*/
+@Testcontainers
@DataMongoTest
class CustomerRepositoryTests {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Autowired CustomerQuerydslRepository repository;
@Autowired MongoOperations operations;
diff --git a/mongodb/querydsl/src/test/java/example/springdata/mongodb/reactive/ReactiveCustomerRepositoryTests.java b/mongodb/querydsl/src/test/java/example/springdata/mongodb/reactive/ReactiveCustomerRepositoryTests.java
index e5adc1e26..052caedb2 100644
--- a/mongodb/querydsl/src/test/java/example/springdata/mongodb/reactive/ReactiveCustomerRepositoryTests.java
+++ b/mongodb/querydsl/src/test/java/example/springdata/mongodb/reactive/ReactiveCustomerRepositoryTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2019-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,23 +19,39 @@
import example.springdata.mongodb.Customer;
import example.springdata.mongodb.QCustomer;
-import org.junit.jupiter.api.Test;
+import example.springdata.mongodb.util.MongoContainers;
import reactor.test.StepVerifier;
import java.util.Arrays;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* @author Christoph Strobl
*/
+@Testcontainers
@DataMongoTest
class ReactiveCustomerRepositoryTests {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Autowired ReactiveCustomerQuerydslRepository repository;
@Autowired MongoOperations operations;
diff --git a/mongodb/querydsl/src/test/resources/application.properties b/mongodb/querydsl/src/test/resources/application.properties
deleted file mode 100644
index c59a689bc..000000000
--- a/mongodb/querydsl/src/test/resources/application.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-# Random port for embedded MongoDB
-spring.data.mongodb.port=0
diff --git a/mongodb/reactive/pom.xml b/mongodb/reactive/pom.xml
index 4d0b94a2c..ca6e3f16f 100644
--- a/mongodb/reactive/pom.xml
+++ b/mongodb/reactive/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data.examplesspring-data-mongodb-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-mongodb-reactive
@@ -19,18 +19,14 @@
- io.reactivex.rxjava2
- rxjava
-
-
-
- io.reactivex
- rxjava-reactive-streams
+ io.projectreactor
+ reactor-test
+ test
- io.projectreactor
- reactor-test
+ org.springframework.data.examples
+ spring-data-mongodb-example-utilstest
diff --git a/mongodb/reactive/src/main/java/example/springdata/mongodb/people/Person.java b/mongodb/reactive/src/main/java/example/springdata/mongodb/people/Person.java
index 638d477d0..e52d67f62 100644
--- a/mongodb/reactive/src/main/java/example/springdata/mongodb/people/Person.java
+++ b/mongodb/reactive/src/main/java/example/springdata/mongodb/people/Person.java
@@ -16,7 +16,7 @@
package example.springdata.mongodb.people;
import org.springframework.data.annotation.Id;
-import org.springframework.data.annotation.PersistenceConstructor;
+import org.springframework.data.annotation.PersistenceCreator;
import org.springframework.data.mongodb.core.mapping.Document;
/**
@@ -27,7 +27,7 @@
@Document
public record Person(@Id String id, String firstname, String lastname, int age) {
- @PersistenceConstructor
+ @PersistenceCreator
public Person {
}
diff --git a/mongodb/reactive/src/main/java/example/springdata/mongodb/people/ReactivePersonRepository.java b/mongodb/reactive/src/main/java/example/springdata/mongodb/people/ReactivePersonRepository.java
index adc63a317..1004a90e0 100644
--- a/mongodb/reactive/src/main/java/example/springdata/mongodb/people/ReactivePersonRepository.java
+++ b/mongodb/reactive/src/main/java/example/springdata/mongodb/people/ReactivePersonRepository.java
@@ -15,6 +15,9 @@
*/
package example.springdata.mongodb.people;
+import java.util.List;
+
+import org.springframework.data.domain.Limit;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
@@ -37,6 +40,17 @@ public interface ReactivePersonRepository extends ReactiveCrudRepository findByLastname(String lastname);
+ /**
+ * Find at most the number of users defined via maxResults with the given lastname.
+ * This method will be translated into a query by constructing it directly from the method name as there is no other
+ * query declared.
+ *
+ * @param lastname
+ * @param maxResults the maximum number of results returned.
+ * @return
+ */
+ Flux findByLastname(String lastname, Limit maxResults);
+
/**
* String query selecting one entity.
*
diff --git a/mongodb/reactive/src/main/java/example/springdata/mongodb/people/RxJava2PersonRepository.java b/mongodb/reactive/src/main/java/example/springdata/mongodb/people/RxJava2PersonRepository.java
deleted file mode 100644
index cee6888f4..000000000
--- a/mongodb/reactive/src/main/java/example/springdata/mongodb/people/RxJava2PersonRepository.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright 2016-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.mongodb.people;
-
-import io.reactivex.Flowable;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
-
-import org.springframework.data.mongodb.repository.Query;
-import org.springframework.data.mongodb.repository.Tailable;
-import org.springframework.data.repository.reactive.RxJava2CrudRepository;
-
-/**
- * Repository interface to manage {@link Person} instances.
- *
- * @author Mark Paluch
- * @author Christoph Strobl
- */
-public interface RxJava2PersonRepository extends RxJava2CrudRepository {
-
- /**
- * Derived query selecting by {@code lastname}.
- *
- * @param lastname
- * @return
- */
- Flowable findByLastname(String lastname);
-
- /**
- * String query selecting one entity.
- *
- * @param lastname
- * @return
- */
- @Query("{ 'firstname': ?0, 'lastname': ?1}")
- Maybe findByFirstnameAndLastname(String firstname, String lastname);
-
- /**
- * Derived query selecting by {@code lastname}. {@code lastname} uses deferred resolution that does not require
- * blocking to obtain the parameter value.
- *
- * @param lastname
- * @return
- */
- Flowable findByLastname(Single lastname);
-
- /**
- * Derived query selecting by {@code firstname} and {@code lastname}. {@code firstname} uses deferred resolution which
- * does not require blocking to obtain the parameter value.
- *
- * @param firstname
- * @param lastname
- * @return
- */
- Maybe findByFirstnameAndLastname(Single firstname, String lastname);
-
- /**
- * Use a tailable cursor to emit a stream of entities as new entities are written to the capped collection.
- *
- * @return
- */
- @Tailable
- Flowable findWithTailableCursorBy();
-}
diff --git a/mongodb/reactive/src/test/java/example/springdata/mongodb/people/ReactiveMongoTemplateIntegrationTest.java b/mongodb/reactive/src/test/java/example/springdata/mongodb/people/ReactiveMongoTemplateIntegrationTest.java
index 530260fa5..b0fefc1aa 100644
--- a/mongodb/reactive/src/test/java/example/springdata/mongodb/people/ReactiveMongoTemplateIntegrationTest.java
+++ b/mongodb/reactive/src/test/java/example/springdata/mongodb/people/ReactiveMongoTemplateIntegrationTest.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2016-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -15,11 +15,9 @@
*/
package example.springdata.mongodb.people;
-import static org.assertj.core.api.Assertions.*;
-
+import example.springdata.mongodb.util.MongoContainers;
import reactor.core.publisher.Flux;
import reactor.test.StepVerifier;
-import rx.RxReactiveStreams;
import java.util.Arrays;
@@ -27,25 +25,40 @@
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.data.mongodb.core.ReactiveMongoTemplate;
-import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* Integration test for {@link ReactiveMongoTemplate}.
*
* @author Mark Paluch
*/
+@Testcontainers
@DataMongoTest
class ReactiveMongoTemplateIntegrationTest {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Autowired ReactiveMongoTemplate template;
@BeforeEach
void setUp() {
- StepVerifier.create(template.dropCollection(Person.class)).verifyComplete();
+ template.dropCollection(Person.class).as(StepVerifier::create) //
+ .verifyComplete();
var insertAll = template
.insertAll(Flux.just(new Person("Walter", "White", 50), //
@@ -74,16 +87,4 @@ void shouldInsertAndCountData() {
count.as(StepVerifier::create).expectNext(6L).verifyComplete();
}
- /**
- * Note that the all object conversions are performed before the results are printed to the console.
- */
- @Test
- void convertReactorTypesToRxJava2() {
-
- var flux = template.find(Query.query(Criteria.where("lastname").is("White")), Person.class);
-
- long count = RxReactiveStreams.toObservable(flux).count().toSingle().toBlocking().value();
-
- assertThat(count).isEqualTo(2);
- }
}
diff --git a/mongodb/reactive/src/test/java/example/springdata/mongodb/people/ReactivePersonRepositoryIntegrationTest.java b/mongodb/reactive/src/test/java/example/springdata/mongodb/people/ReactivePersonRepositoryIntegrationTest.java
index 3ecc7ff42..47074ed8c 100644
--- a/mongodb/reactive/src/test/java/example/springdata/mongodb/people/ReactivePersonRepositoryIntegrationTest.java
+++ b/mongodb/reactive/src/test/java/example/springdata/mongodb/people/ReactivePersonRepositoryIntegrationTest.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2015-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -17,6 +17,7 @@
import static org.assertj.core.api.Assertions.*;
+import example.springdata.mongodb.util.MongoContainers;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import reactor.test.StepVerifier;
@@ -28,18 +29,34 @@
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
+import org.springframework.data.domain.Limit;
import org.springframework.data.mongodb.core.CollectionOptions;
import org.springframework.data.mongodb.core.ReactiveMongoOperations;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* Integration test for {@link ReactivePersonRepository} using Project Reactor types and operators.
*
* @author Mark Paluch
*/
+@Testcontainers
@DataMongoTest
class ReactivePersonRepositoryIntegrationTest {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Autowired ReactivePersonRepository repository;
@Autowired ReactiveMongoOperations operations;
@@ -141,6 +158,14 @@ void shouldQueryDataWithQueryDerivation() {
repository.findByLastname("White").as(StepVerifier::create).expectNextCount(2).verifyComplete();
}
+ /**
+ * Limit result size.
+ */
+ @Test
+ void shouldLimitResultSize() {
+ repository.findByLastname("White", Limit.of(1)).as(StepVerifier::create).expectNextCount(1).verifyComplete();
+ }
+
/**
* Fetch data using a string query.
*/
diff --git a/mongodb/reactive/src/test/java/example/springdata/mongodb/people/RxJava2PersonRepositoryIntegrationTest.java b/mongodb/reactive/src/test/java/example/springdata/mongodb/people/RxJava2PersonRepositoryIntegrationTest.java
deleted file mode 100644
index b29dca011..000000000
--- a/mongodb/reactive/src/test/java/example/springdata/mongodb/people/RxJava2PersonRepositoryIntegrationTest.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright 2016-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.mongodb.people;
-
-import static org.assertj.core.api.Assertions.*;
-
-import io.reactivex.Flowable;
-import io.reactivex.Single;
-import reactor.core.publisher.Mono;
-import reactor.test.StepVerifier;
-
-import java.util.Queue;
-import java.util.concurrent.ConcurrentLinkedQueue;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
-import org.springframework.data.mongodb.core.CollectionOptions;
-import org.springframework.data.mongodb.core.ReactiveMongoOperations;
-
-/**
- * Integration test for {@link RxJava2PersonRepository} using RxJava2 types. Note that {@link ReactiveMongoOperations}
- * is only available using Project Reactor types as the native Template API implementation does not come in multiple
- * reactive flavors.
- *
- * @author Mark Paluch
- * @author Jens Schauder
- * @author Christoph Strobl
- */
-@DataMongoTest
-class RxJava2PersonRepositoryIntegrationTest {
-
- @Autowired RxJava2PersonRepository repository;
- @Autowired ReactiveMongoOperations operations;
-
- @BeforeEach
- void setUp() {
-
- var recreateCollection = operations.collectionExists(Person.class) //
- .flatMap(exists -> exists ? operations.dropCollection(Person.class) : Mono.just(exists)) //
- .then(operations.createCollection(Person.class, CollectionOptions.empty() //
- .size(1024 * 1024) //
- .maxDocuments(100) //
- .capped()));
-
- StepVerifier.create(recreateCollection).expectNextCount(1).verifyComplete();
-
- repository.saveAll(Flowable.just(new Person("Walter", "White", 50), //
- new Person("Skyler", "White", 45), //
- new Person("Saul", "Goodman", 42), //
- new Person("Jesse", "Pinkman", 27))) //
- .test() //
- .awaitCount(4) //
- .assertNoErrors() //
- .awaitTerminalEvent();
- }
-
- /**
- * This sample performs a count, inserts data and performs a count again using reactive operator chaining. It prints
- * the two counts ({@code 4} and {@code 6}) to the console.
- */
- @Test
- void shouldInsertAndCountData() {
-
- var people = Flowable.just(new Person("Hank", "Schrader", 43), //
- new Person("Mike", "Ehrmantraut", 62));
-
- repository.count() //
- .doOnSuccess(System.out::println) //
- .toFlowable() //
- .switchMap(count -> repository.saveAll(people)) //
- .lastElement() //
- .toSingle() //
- .flatMap(v -> repository.count()) //
- .doOnSuccess(System.out::println) //
- .test() //
- .awaitCount(1) //
- .assertValue(6L) //
- .assertNoErrors() //
- .awaitTerminalEvent();
- }
-
- /**
- * Note that the all object conversions are performed before the results are printed to the console.
- */
- @Test
- void shouldPerformConversionBeforeResultProcessing() {
-
- repository.findAll() //
- .doOnNext(System.out::println) //
- .test() //
- .awaitCount(4) //
- .assertNoErrors() //
- .awaitTerminalEvent();
-
- }
-
- /**
- * A tailable cursor streams data using {@link Flowable} as it arrives inside the capped collection.
- */
- @Test
- void shouldStreamDataWithTailableCursor() throws Exception {
-
- Queue people = new ConcurrentLinkedQueue<>();
-
- var subscription = repository.findWithTailableCursorBy() //
- .doOnNext(System.out::println) //
- .doOnNext(people::add) //
- .doOnComplete(() -> System.out.println("Complete")) //
- .doOnTerminate(() -> System.out.println("Terminated")) //
- .subscribe();
-
- Thread.sleep(100);
-
- repository.save(new Person("Tuco", "Salamanca", 33)).test().awaitTerminalEvent();
- Thread.sleep(100);
-
- repository.save(new Person("Mike", "Ehrmantraut", 62)).test().awaitTerminalEvent();
- Thread.sleep(100);
-
- subscription.dispose();
-
- repository.save(new Person("Gus", "Fring", 53)).test().awaitTerminalEvent();
- Thread.sleep(100);
-
- assertThat(people).hasSize(6);
- }
-
- /**
- * Fetch data using query derivation.
- */
- @Test
- void shouldQueryDataWithQueryDerivation() {
-
- repository.findByLastname("White") //
- .test() //
- .awaitCount(2) //
- .assertNoErrors() //
- .awaitTerminalEvent();
-
- }
-
- /**
- * Fetch data using a string query.
- */
- @Test
- void shouldQueryDataWithStringQuery() {
-
- repository.findByFirstnameAndLastname("Walter", "White") //
- .test() //
- .awaitCount(1) //
- .assertNoErrors() //
- .awaitTerminalEvent();
- }
-
- /**
- * Fetch data using query derivation.
- */
- @Test
- void shouldQueryDataWithDeferredQueryDerivation() {
-
- repository.findByLastname(Single.just("White")) //
- .test() //
- .awaitCount(2) //
- .assertNoErrors() //
- .awaitTerminalEvent();
- }
-
- /**
- * Fetch data using query derivation and deferred parameter resolution.
- */
- @Test
- void shouldQueryDataWithMixedDeferredQueryDerivation() {
-
- repository.findByFirstnameAndLastname(Single.just("Walter"), "White") //
- .test() //
- .awaitCount(1) //
- .assertNoErrors() //
- .awaitTerminalEvent();
- }
-}
diff --git a/mongodb/repository-metrics/pom.xml b/mongodb/repository-metrics/pom.xml
index 27eb7e6cf..e7a194ed7 100644
--- a/mongodb/repository-metrics/pom.xml
+++ b/mongodb/repository-metrics/pom.xml
@@ -7,12 +7,12 @@
org.springframework.data.examplesspring-data-mongodb-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-mongodb-repository-metrics
- Spring Data MongoDB 3.1 - Repository Metrics Example
+ Spring Data MongoDB - Repository Metrics Example
@@ -27,6 +27,12 @@
test
+
+ org.springframework.data.examples
+ spring-data-mongodb-example-utils
+ test
+
+
diff --git a/mongodb/repository-metrics/src/test/java/example/springdata/mongodb/DemoApplicationTests.java b/mongodb/repository-metrics/src/test/java/example/springdata/mongodb/DemoApplicationTests.java
index 3a4adca9f..639e14695 100644
--- a/mongodb/repository-metrics/src/test/java/example/springdata/mongodb/DemoApplicationTests.java
+++ b/mongodb/repository-metrics/src/test/java/example/springdata/mongodb/DemoApplicationTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,6 +15,7 @@
*/
package example.springdata.mongodb;
+import example.springdata.mongodb.util.MongoContainers;
import reactor.test.StepVerifier;
import java.time.Duration;
@@ -23,6 +24,12 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* Integration tests showing {@link org.springframework.data.repository.core.support.RepositoryMethodInvocationListener}
@@ -30,14 +37,25 @@
*
* @author Christoph Strobl
*/
+@Testcontainers
@SpringBootTest
class DemoApplicationTests {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Autowired PersonRepository repo;
@Test
void repositoryMetrics() throws InterruptedException {
+ repo.deleteAll().as(StepVerifier::create).verifyComplete();
+
var fiona = new Person("p-1", "fiona");
var frank = new Person("p-2", "frank");
diff --git a/mongodb/schema-validation/README.md b/mongodb/schema-validation/README.md
index c484de17a..16a239f9f 100644
--- a/mongodb/schema-validation/README.md
+++ b/mongodb/schema-validation/README.md
@@ -59,7 +59,7 @@ MongoJsonSchema schema = MongoJsonSchema.builder() //
).build();
```
-The schema can be used for various funcitionality: Set up `Document` validation for a collection:
+The schema can be used for various functionality: Set up `Document` validation for a collection:
```java
template.createCollection(Jedi.class, CollectionOptions.empty().validator(Validator.schema(schema)));
diff --git a/mongodb/schema-validation/pom.xml b/mongodb/schema-validation/pom.xml
index 448cf9821..25bcc25d8 100644
--- a/mongodb/schema-validation/pom.xml
+++ b/mongodb/schema-validation/pom.xml
@@ -4,12 +4,20 @@
spring-data-mongodb-schema-validation
- Spring Data MongoDB 2.1 - Schema & Validation Example
+ Spring Data MongoDB - Schema & Validation Exampleorg.springframework.data.examplesspring-data-mongodb-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
+
+
+ org.springframework.data.examples
+ spring-data-mongodb-example-utils
+ test
+
+
+
diff --git a/mongodb/schema-validation/src/test/java/example/springdata/mongodb/schema/DocumentValidationTests.java b/mongodb/schema-validation/src/test/java/example/springdata/mongodb/schema/DocumentValidationTests.java
index 8d7c36d3e..7189f701b 100644
--- a/mongodb/schema-validation/src/test/java/example/springdata/mongodb/schema/DocumentValidationTests.java
+++ b/mongodb/schema-validation/src/test/java/example/springdata/mongodb/schema/DocumentValidationTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2018-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,23 +19,40 @@
import static org.springframework.data.mongodb.core.query.Criteria.*;
import static org.springframework.data.mongodb.core.schema.JsonSchemaProperty.*;
+import example.springdata.mongodb.util.MongoContainers;
+
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.data.mongodb.core.CollectionOptions;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.data.mongodb.core.schema.MongoJsonSchema;
import org.springframework.data.mongodb.core.validation.Validator;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* @author Christoph Strobl
*/
+@Testcontainers
@DataMongoTest
class DocumentValidationTests {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
private static final String COLLECTION = "star-wars";
@Autowired MongoOperations mongoOps;
diff --git a/mongodb/schema-validation/src/test/java/example/springdata/mongodb/schema/SchemaQueryTests.java b/mongodb/schema-validation/src/test/java/example/springdata/mongodb/schema/SchemaQueryTests.java
index 345b060a8..6405ab07f 100644
--- a/mongodb/schema-validation/src/test/java/example/springdata/mongodb/schema/SchemaQueryTests.java
+++ b/mongodb/schema-validation/src/test/java/example/springdata/mongodb/schema/SchemaQueryTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2018-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -20,20 +20,37 @@
import static org.springframework.data.mongodb.core.query.Query.*;
import static org.springframework.data.mongodb.core.schema.JsonSchemaProperty.*;
+import example.springdata.mongodb.util.MongoContainers;
+
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.data.mongodb.core.schema.MongoJsonSchema;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* @author Christoph Strobl
*/
+@Testcontainers
@DataMongoTest
class SchemaQueryTests {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
private static final String COLLECTION = "star-wars";
@Autowired MongoOperations mongoOps;
diff --git a/mongodb/schema-validation/src/test/resources/application.properties b/mongodb/schema-validation/src/test/resources/application.properties
deleted file mode 100644
index 8ddb707b8..000000000
--- a/mongodb/schema-validation/src/test/resources/application.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-spring.mongodb.embedded.features=ONLY_64BIT,NO_HTTP_INTERFACE_ARG,NO_CHUNKSIZE_ARG,SYNC_DELAY,ONLY_WITH_SSL
-spring.mongodb.embedded.version=4.0.1
\ No newline at end of file
diff --git a/mongodb/security/pom.xml b/mongodb/security/pom.xml
index 40fd3428a..e79cf410d 100644
--- a/mongodb/security/pom.xml
+++ b/mongodb/security/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data.examplesspring-data-mongodb-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-mongodb-security
@@ -23,6 +23,12 @@
spring-security-data
+
+ org.springframework.data.examples
+ spring-data-mongodb-example-utils
+ test
+
+
diff --git a/mongodb/security/src/main/java/example/springdata/mongodb/security/Person.java b/mongodb/security/src/main/java/example/springdata/mongodb/security/Person.java
index 484cf668c..7dce7944d 100644
--- a/mongodb/security/src/main/java/example/springdata/mongodb/security/Person.java
+++ b/mongodb/security/src/main/java/example/springdata/mongodb/security/Person.java
@@ -16,7 +16,7 @@
package example.springdata.mongodb.security;
import org.springframework.data.annotation.Id;
-import org.springframework.data.annotation.PersistenceConstructor;
+import org.springframework.data.annotation.PersistenceCreator;
/**
* An entity to represent a {@link Person}.
@@ -25,7 +25,7 @@
*/
public record Person(@Id String id, String firstname, String lastname) {
- @PersistenceConstructor
+ @PersistenceCreator
public Person {
}
diff --git a/mongodb/security/src/test/java/example/springdata/mongodb/security/PersonRepositoryIntegrationTest.java b/mongodb/security/src/test/java/example/springdata/mongodb/security/PersonRepositoryIntegrationTest.java
index 8ada00b8f..a2aa13980 100644
--- a/mongodb/security/src/test/java/example/springdata/mongodb/security/PersonRepositoryIntegrationTest.java
+++ b/mongodb/security/src/test/java/example/springdata/mongodb/security/PersonRepositoryIntegrationTest.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2015-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -17,6 +17,8 @@
import static org.assertj.core.api.Assertions.*;
+import example.springdata.mongodb.util.MongoContainers;
+
import java.util.Collections;
import org.junit.jupiter.api.BeforeEach;
@@ -27,6 +29,12 @@
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* Integration test for {@link PersonRepository}.
@@ -34,9 +42,18 @@
* @author Thomas Darimont
* @author Oliver Gierke
*/
+@Testcontainers
@SpringBootTest
class PersonRepositoryIntegrationTest {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Autowired PersonRepository repository;
private Person dave, oliver, carter, admin;
diff --git a/mongodb/security/src/test/resources/application.properties b/mongodb/security/src/test/resources/application.properties
deleted file mode 100644
index c59a689bc..000000000
--- a/mongodb/security/src/test/resources/application.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-# Random port for embedded MongoDB
-spring.data.mongodb.port=0
diff --git a/mongodb/text-search/pom.xml b/mongodb/text-search/pom.xml
index 178871b73..5923cab7f 100644
--- a/mongodb/text-search/pom.xml
+++ b/mongodb/text-search/pom.xml
@@ -9,7 +9,7 @@
org.springframework.data.examplesspring-data-mongodb-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
@@ -19,5 +19,11 @@
jackson-databind
+
+ org.springframework.data.examples
+ spring-data-mongodb-example-utils
+ test
+
+
diff --git a/mongodb/text-search/src/main/java/example/springdata/mongodb/textsearch/MongoTestConfiguration.java b/mongodb/text-search/src/main/java/example/springdata/mongodb/textsearch/MongoTestConfiguration.java
index bb19d64ed..de2434d24 100644
--- a/mongodb/text-search/src/main/java/example/springdata/mongodb/textsearch/MongoTestConfiguration.java
+++ b/mongodb/text-search/src/main/java/example/springdata/mongodb/textsearch/MongoTestConfiguration.java
@@ -15,8 +15,8 @@
*/
package example.springdata.mongodb.textsearch;
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.SpringBootApplication;
diff --git a/mongodb/text-search/src/test/java/example/springdata/mongodb/textsearch/TextSearchRepositoryTests.java b/mongodb/text-search/src/test/java/example/springdata/mongodb/textsearch/TextSearchRepositoryTests.java
index 9cd7428d4..69cbb3e6f 100644
--- a/mongodb/text-search/src/test/java/example/springdata/mongodb/textsearch/TextSearchRepositoryTests.java
+++ b/mongodb/text-search/src/test/java/example/springdata/mongodb/textsearch/TextSearchRepositoryTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2014-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -17,12 +17,20 @@
import static example.springdata.mongodb.util.ConsoleResultPrinter.*;
+import example.springdata.mongodb.util.MongoContainers;
+
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.data.mongodb.core.mapping.TextScore;
import org.springframework.data.mongodb.core.query.TextCriteria;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* Integration tests showing the text search functionality using repositories.
@@ -31,14 +39,23 @@
* @author Oliver Gierke
* @author Thomas Darimont
*/
+@Testcontainers
@DataMongoTest
class TextSearchRepositoryTests {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Autowired BlogPostRepository repo;
/**
* Show how to do simple matching.
- * Note that text search is case insensitive and will also find entries like {@literal releases}.
+ * Note that text search is case-insensitive and will also find entries like {@literal releases}.
*/
@Test
void findAllBlogPostsWithRelease() {
diff --git a/mongodb/text-search/src/test/java/example/springdata/mongodb/textsearch/TextSearchTemplateTests.java b/mongodb/text-search/src/test/java/example/springdata/mongodb/textsearch/TextSearchTemplateTests.java
index 5072a66a1..520f1dee2 100644
--- a/mongodb/text-search/src/test/java/example/springdata/mongodb/textsearch/TextSearchTemplateTests.java
+++ b/mongodb/text-search/src/test/java/example/springdata/mongodb/textsearch/TextSearchTemplateTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2014-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -18,25 +18,42 @@
import static example.springdata.mongodb.util.ConsoleResultPrinter.*;
import static org.springframework.data.mongodb.core.query.Query.*;
+import example.springdata.mongodb.util.MongoContainers;
+
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.boot.data.mongodb.test.autoconfigure.DataMongoTest;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.data.mongodb.core.query.TextCriteria;
import org.springframework.data.mongodb.core.query.TextQuery;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.mongodb.MongoDBContainer;
/**
* @author Christoph Strobl
* @author Thomas Darimont
*/
+@Testcontainers
@DataMongoTest
class TextSearchTemplateTests {
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
+
@Autowired MongoOperations operations;
/**
- * Show how to do simple matching. Note that text search is case insensitive and will also find entries like
+ * Show how to do simple matching. Note that text search is case-insensitive and will also find entries like
* {@literal releases}.
*/
@Test
diff --git a/mongodb/text-search/src/test/resources/application.properties b/mongodb/text-search/src/test/resources/application.properties
deleted file mode 100644
index e9170be4d..000000000
--- a/mongodb/text-search/src/test/resources/application.properties
+++ /dev/null
@@ -1 +0,0 @@
-logging.level.example.springdata=INFO
diff --git a/mongodb/transactions/pom.xml b/mongodb/transactions/pom.xml
index a73c56409..696886223 100644
--- a/mongodb/transactions/pom.xml
+++ b/mongodb/transactions/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data.examplesspring-data-mongodb-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-mongodb-transactions
diff --git a/mongodb/transactions/src/main/java/example/springdata/mongodb/reactive/ReactiveTransitionService.java b/mongodb/transactions/src/main/java/example/springdata/mongodb/reactive/ReactiveTransitionService.java
index af538e155..f92a493b5 100644
--- a/mongodb/transactions/src/main/java/example/springdata/mongodb/reactive/ReactiveTransitionService.java
+++ b/mongodb/transactions/src/main/java/example/springdata/mongodb/reactive/ReactiveTransitionService.java
@@ -49,14 +49,10 @@ public Mono newProcess() {
public Mono run(Integer id) {
- return template.inTransaction().execute(action -> {
-
return lookup(id) //
- .flatMap(process -> start(action, process)) //
+ .flatMap(process -> start(template, process)) //
.flatMap(it -> verify(it)) //
- .flatMap(process -> finish(action, process));
-
- }).next().map(Process::id);
+ .flatMap(process -> finish(template, process)).map(Process::id);
}
private Mono finish(ReactiveMongoOperations operations, Process process) {
diff --git a/mongodb/transactions/src/test/java/example/springdata/mongodb/imperative/TransitionServiceTests.java b/mongodb/transactions/src/test/java/example/springdata/mongodb/imperative/TransitionServiceTests.java
index 4549a85d0..10051a82e 100644
--- a/mongodb/transactions/src/test/java/example/springdata/mongodb/imperative/TransitionServiceTests.java
+++ b/mongodb/transactions/src/test/java/example/springdata/mongodb/imperative/TransitionServiceTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2018-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -15,19 +15,21 @@
*/
package example.springdata.mongodb.imperative;
-import example.springdata.mongodb.Process;
-import example.springdata.mongodb.State;
-import example.springdata.mongodb.util.EmbeddedMongo;
-
import java.util.function.Consumer;
+import com.mongodb.client.MongoClient;
+import com.mongodb.client.MongoClients;
+import com.mongodb.client.model.Filters;
+import com.mongodb.client.model.Projections;
+import example.springdata.mongodb.Process;
+import example.springdata.mongodb.State;
+import example.springdata.mongodb.util.MongoContainers;
import org.assertj.core.api.Assertions;
import org.bson.Document;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@@ -35,14 +37,14 @@
import org.springframework.data.mongodb.MongoTransactionManager;
import org.springframework.data.mongodb.config.AbstractMongoClientConfiguration;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-import com.mongodb.client.MongoClient;
-import com.mongodb.client.model.Filters;
-import com.mongodb.client.model.Projections;
+import org.testcontainers.mongodb.MongoDBContainer;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
/**
* Test showing MongoDB Transaction usage through a synchronous (imperative) API using Spring's managed transactions.
@@ -51,11 +53,17 @@
* @currentRead The Core - Peter V. Brett
* @see org.springframework.transaction.annotation.Transactional
*/
-@RunWith(SpringRunner.class)
-@ContextConfiguration
+@Testcontainers
+@ExtendWith(SpringExtension.class)
public class TransitionServiceTests {
- public static @ClassRule EmbeddedMongo replSet = EmbeddedMongo.replSet().configure();
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
static final String DB_NAME = "spring-data-tx-examples";
@@ -73,10 +81,9 @@ PlatformTransactionManager transactionManager(MongoDatabaseFactory dbFactory) {
return new MongoTransactionManager(dbFactory);
}
- @Override
@Bean
public MongoClient mongoClient() {
- return replSet.getMongoClient();
+ return MongoClients.create(mongoDBContainer.getReplicaSetUrl());
}
@Override
@@ -110,5 +117,4 @@ State stateInDb(Process process) {
return State.valueOf(client.getDatabase(DB_NAME).getCollection("processes").find(Filters.eq("_id", process.id()))
.projection(Projections.include("state")).first().get("state", String.class));
}
-
}
diff --git a/mongodb/transactions/src/test/java/example/springdata/mongodb/reactive/ReactiveManagedTransitionServiceTests.java b/mongodb/transactions/src/test/java/example/springdata/mongodb/reactive/ReactiveManagedTransitionServiceTests.java
index b7f2ff5c7..d49320e98 100644
--- a/mongodb/transactions/src/test/java/example/springdata/mongodb/reactive/ReactiveManagedTransitionServiceTests.java
+++ b/mongodb/transactions/src/test/java/example/springdata/mongodb/reactive/ReactiveManagedTransitionServiceTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2019-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -17,16 +17,14 @@
import static org.assertj.core.api.Assertions.*;
+import com.mongodb.reactivestreams.client.MongoClients;
import example.springdata.mongodb.Process;
+import com.mongodb.reactivestreams.client.MongoClient;
import example.springdata.mongodb.State;
-import example.springdata.mongodb.util.EmbeddedMongo;
-import reactor.core.publisher.Flux;
-import reactor.test.StepVerifier;
-
+import example.springdata.mongodb.util.MongoContainers;
import org.bson.Document;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
@@ -35,13 +33,16 @@
import org.springframework.data.mongodb.ReactiveMongoTransactionManager;
import org.springframework.data.mongodb.config.AbstractReactiveMongoConfiguration;
import org.springframework.data.mongodb.repository.config.EnableReactiveMongoRepositories;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.DynamicPropertyRegistry;
+import org.springframework.test.context.DynamicPropertySource;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.transaction.ReactiveTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-import com.mongodb.reactivestreams.client.MongoClient;
-import com.mongodb.reactivestreams.client.MongoClients;
+import org.testcontainers.mongodb.MongoDBContainer;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import reactor.core.publisher.Flux;
+import reactor.test.StepVerifier;
/**
* Test showing MongoDB Transaction usage through a reactive API.
@@ -49,11 +50,17 @@
* @author Christoph Strobl
* @currentRead The Core - Peter V. Brett
*/
-@RunWith(SpringRunner.class)
-@ContextConfiguration
+@Testcontainers
+@ExtendWith(SpringExtension.class)
public class ReactiveManagedTransitionServiceTests {
- public static @ClassRule EmbeddedMongo replSet = EmbeddedMongo.replSet().configure();
+ @Container //
+ private static MongoDBContainer mongoDBContainer = MongoContainers.getDefaultContainer();
+
+ @DynamicPropertySource
+ static void setProperties(DynamicPropertyRegistry registry) {
+ registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
+ }
@Autowired ReactiveManagedTransitionService managedTransitionService;
@Autowired MongoClient client;
@@ -74,7 +81,7 @@ ReactiveTransactionManager transactionManager(ReactiveMongoDatabaseFactory dbFac
@Bean
@Override
public MongoClient reactiveMongoClient() {
- return MongoClients.create(replSet.getConnectionString());
+ return MongoClients.create(mongoDBContainer.getReplicaSetUrl());
}
@Override
diff --git a/mongodb/transactions/src/test/java/example/springdata/mongodb/reactive/ReactiveTransitionServiceTests.java b/mongodb/transactions/src/test/java/example/springdata/mongodb/reactive/ReactiveTransitionServiceTests.java
deleted file mode 100644
index 3a01446f7..000000000
--- a/mongodb/transactions/src/test/java/example/springdata/mongodb/reactive/ReactiveTransitionServiceTests.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright 2018-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.mongodb.reactive;
-
-import static org.assertj.core.api.Assertions.*;
-
-import example.springdata.mongodb.Process;
-import example.springdata.mongodb.State;
-import example.springdata.mongodb.util.EmbeddedMongo;
-import reactor.core.publisher.Flux;
-import reactor.test.StepVerifier;
-
-import org.bson.Document;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.data.mongodb.config.AbstractReactiveMongoConfiguration;
-import org.springframework.data.mongodb.repository.config.EnableReactiveMongoRepositories;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringRunner;
-
-import com.mongodb.reactivestreams.client.MongoClient;
-import com.mongodb.reactivestreams.client.MongoClients;
-
-/**
- * Test showing MongoDB Transaction usage through a reactive API.
- *
- * @author Christoph Strobl
- * @currentRead The Core - Peter V. Brett
- */
-@RunWith(SpringRunner.class)
-@ContextConfiguration
-public class ReactiveTransitionServiceTests {
-
- public static @ClassRule EmbeddedMongo replSet = EmbeddedMongo.replSet().configure();
-
- @Autowired ReactiveTransitionService transitionService;
- @Autowired MongoClient client;
-
- static final String DB_NAME = "spring-data-reactive-tx-examples";
-
- @Configuration
- @ComponentScan
- @EnableReactiveMongoRepositories
- static class Config extends AbstractReactiveMongoConfiguration {
-
- @Bean
- @Override
- public MongoClient reactiveMongoClient() {
- return MongoClients.create(replSet.getConnectionString());
- }
-
- @Override
- protected String getDatabaseName() {
- return DB_NAME;
- }
- }
-
- @Test
- public void reactiveTxCommitRollback() {
-
- for (var i = 0; i < 10; i++) {
- transitionService.newProcess() //
- .map(Process::id) //
- .flatMap(transitionService::run) //
- .onErrorReturn(-1).as(StepVerifier::create) //
- .consumeNextWith(val -> {}) //
- .verifyComplete();
- }
-
- Flux.from(client.getDatabase(DB_NAME).getCollection("processes").find(new Document())) //
- .buffer(10) //
- .as(StepVerifier::create) //
- .consumeNextWith(list -> {
-
- for (var document : list) {
-
- System.out.println("document: " + document);
-
- if (document.getInteger("_id") % 3 == 0) {
- assertThat(document.getString("state")).isEqualTo(State.CREATED.toString());
- } else {
- assertThat(document.getString("state")).isEqualTo(State.DONE.toString());
- }
- }
-
- }) //
- .verifyComplete();
- }
-}
diff --git a/mongodb/transactions/src/test/resources/application.properties b/mongodb/transactions/src/test/resources/application.properties
new file mode 100644
index 000000000..50904a886
--- /dev/null
+++ b/mongodb/transactions/src/test/resources/application.properties
@@ -0,0 +1 @@
+spring.data.mongodb.database=spring-data-tx-examples
diff --git a/mongodb/util/pom.xml b/mongodb/util/pom.xml
index 7907a4526..9a44c4c8c 100644
--- a/mongodb/util/pom.xml
+++ b/mongodb/util/pom.xml
@@ -1,11 +1,12 @@
-
+4.0.0org.springframework.data.examplesspring-data-mongodb-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-mongodb-example-utils
@@ -23,6 +24,11 @@
mongodb-driver-sync
+
+ org.testcontainers
+ testcontainers-mongodb
+
+
diff --git a/mongodb/util/src/main/java/example/springdata/mongodb/util/EmbeddedMongo.java b/mongodb/util/src/main/java/example/springdata/mongodb/util/EmbeddedMongo.java
deleted file mode 100644
index d3019414d..000000000
--- a/mongodb/util/src/main/java/example/springdata/mongodb/util/EmbeddedMongo.java
+++ /dev/null
@@ -1,454 +0,0 @@
-/*
- * Copyright 2018-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.mongodb.util;
-
-import de.flapdoodle.embed.mongo.Command;
-import de.flapdoodle.embed.mongo.config.ImmutableMongodConfig;
-import de.flapdoodle.embed.mongo.config.ImmutableMongosConfig;
-import de.flapdoodle.embed.mongo.config.MongoCmdOptions;
-import de.flapdoodle.embed.mongo.config.MongodConfig;
-import de.flapdoodle.embed.mongo.config.MongosConfig;
-import de.flapdoodle.embed.mongo.config.Net;
-import de.flapdoodle.embed.mongo.config.Storage;
-import de.flapdoodle.embed.mongo.distribution.Feature;
-import de.flapdoodle.embed.mongo.distribution.IFeatureAwareVersion;
-import de.flapdoodle.embed.mongo.distribution.Versions;
-import de.flapdoodle.embed.process.config.io.ProcessOutput;
-import de.flapdoodle.embed.process.distribution.Version;
-import de.flapdoodle.embed.process.io.Processors;
-import de.flapdoodle.embed.process.runtime.Network;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Function;
-
-import org.junit.AssumptionViolatedException;
-import org.junit.rules.ExternalResource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.springframework.util.ObjectUtils;
-import org.springframework.util.StringUtils;
-
-import com.mongodb.client.MongoClient;
-import com.mongodb.client.MongoClients;
-
-/**
- * {@link org.junit.rules.TestRule} for a MongoDB server resource that is started/stopped along the test lifecycle.
- *
- * @author Christoph Strobl
- * @author Mark Paluch
- */
-public class EmbeddedMongo extends ExternalResource {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(EmbeddedMongo.class);
-
- private static final String LOCALHOST = "127.0.0.1";
- private static final String DEFAULT_REPLICA_SET_NAME = "rs0";
- private static final String DEFAULT_CONFIG_SERVER_REPLICA_SET_NAME = "rs-config";
-
- private static final String STORAGE_ENGINE = "wiredTiger";
-
- private static final IFeatureAwareVersion VERSION = Versions.withFeatures(Version.of("3.7.9"),
- Feature.ONLY_WITH_SSL, Feature.ONLY_64BIT, Feature.NO_HTTP_INTERFACE_ARG, Feature.STORAGE_ENGINE,
- Feature.MONGOS_CONFIGDB_SET_STYLE, Feature.NO_CHUNKSIZE_ARG);
-
- private final TestResource resource;
-
- private EmbeddedMongo(TestResource resource) {
- this.resource = resource;
- }
-
- /**
- * Create a new {@link Builder} to build {@link EmbeddedMongo}.
- *
- * @return
- */
- public static Builder builder() {
- return new Builder();
- }
-
- /**
- * Create a new {@link Builder} that is initialized as replica set to build {@link EmbeddedMongo}.
- *
- * @return
- */
- public static Builder replSet() {
- return replSet(DEFAULT_REPLICA_SET_NAME);
- }
-
- public static Builder replSet(String replicaSetName) {
- return new Builder().withReplicaSetName(replicaSetName);
- }
-
- /**
- * {@link Builder} for {@link EmbeddedMongo}.
- */
- public static class Builder {
-
- IFeatureAwareVersion version;
- String replicaSetName;
- List serverPorts;
- List configServerPorts;
- boolean silent = true;
-
- Builder() {
-
- version = VERSION;
- replicaSetName = null;
- serverPorts = Collections.emptyList();
- configServerPorts = Collections.emptyList();
- }
-
- /**
- * Configure the MongoDB {@link IFeatureAwareVersion version}.
- *
- * @param version
- * @return
- */
- public Builder withVersion(IFeatureAwareVersion version) {
-
- this.version = version;
- return this;
- }
-
- /**
- * Configure the replica set name.
- *
- * @param version
- * @return
- */
- public Builder withReplicaSetName(String replicaSetName) {
-
- this.replicaSetName = replicaSetName;
- return this;
- }
-
- /**
- * Configure the server ports.
- *
- * @param version
- * @return
- */
- public Builder withServerPorts(Integer... ports) {
-
- this.serverPorts = Arrays.asList(ports);
- return this;
- }
-
- /**
- * Configure whether to stay silent (stream only Mongo process errors to stdout) or to stream all process output to
- * stdout. By default, only process errors are forwarded to stdout.
- *
- * @param silent
- * @return
- */
- public Builder withSilent(boolean silent) {
-
- this.silent = silent;
- return this;
- }
-
- public EmbeddedMongo configure() {
-
- if (serverPorts.size() > 1 || StringUtils.hasText(replicaSetName)) {
-
- var rsName = StringUtils.hasText(replicaSetName) ? replicaSetName : DEFAULT_REPLICA_SET_NAME;
- return new EmbeddedMongo(
- new ReplSet(version, rsName, silent, serverPorts.toArray(new Integer[serverPorts.size()])));
- }
-
- throw new UnsupportedOperationException("implement me");
- }
-
- }
-
- @Override
- protected void before() {
-
- try {
- resource.start();
- } catch (RuntimeException e) {
- LOGGER.error("Cannot start MongoDB", e);
- throw new AssumptionViolatedException("Cannot start MongoDB. Skipping", e);
- }
- }
-
- @Override
- protected void after() {
-
- try {
- resource.stop();
- } catch (RuntimeException e) {
- LOGGER.error("Cannot stop MongoDB", e);
- }
- }
-
- public MongoClient getMongoClient() {
- return resource.mongoClient();
- }
-
- public String getConnectionString() {
- return resource.connectionString();
- }
-
- private static Integer randomOrDefaultServerPort() {
-
- try {
- return Network.getFreeServerPort();
- } catch (IOException e) {
- return 27017;
- }
- }
-
- /**
- * Interface specifying a test resource which exposes lifecycle methods and connection coordinates.
- */
- interface TestResource {
-
- /**
- * Start the resource.
- */
- void start();
-
- /**
- * Stop the resource.
- */
- void stop();
-
- /**
- * @return the connection string to configure a MongoDB client.
- */
- String connectionString();
-
- default MongoClient mongoClient() {
- return MongoClients.create(connectionString());
- }
- }
-
- static class ReplSet implements TestResource {
-
- private static final String DEFAULT_SHARDING = "none";
- private static final String DEFAULT_SHARD_KEY = "_class";
-
- private final IFeatureAwareVersion serverVersion;
- private final String configServerReplicaSetName;
- private final String replicaSetName;
- private final int mongosPort;
- private final Integer[] serverPorts;
- private final Integer[] configServerPorts;
- private final Function outputFunction;
-
- private MongosSystemForTestFactory mongosTestFactory;
-
- ReplSet(IFeatureAwareVersion serverVersion, String replicaSetName, boolean silent, Integer... serverPorts) {
-
- this.serverVersion = serverVersion;
- this.replicaSetName = replicaSetName;
- this.serverPorts = defaultPortsIfRequired(serverPorts);
- this.configServerPorts = defaultPortsIfRequired(null);
- this.configServerReplicaSetName = DEFAULT_CONFIG_SERVER_REPLICA_SET_NAME;
- this.mongosPort = randomOrDefaultServerPort();
-
- if (silent) {
- outputFunction = it -> new ProcessOutput(Processors.silent(),
- Processors.namedConsole("[ " + it.commandName() + " error]"), Processors.console());
- } else {
- outputFunction = it -> ProcessOutput.getDefaultInstance(it.commandName());
- }
- }
-
- Integer[] defaultPortsIfRequired(Integer[] ports) {
-
- if (!ObjectUtils.isEmpty(ports)) {
- return ports;
- }
-
- try {
- return new Integer[] { Network.getFreeServerPort(), Network.getFreeServerPort(), Network.getFreeServerPort() };
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
-
- @Override
- public void start() {
-
- if (mongosTestFactory != null) {
- return;
- }
-
- doStart();
- }
-
- private void doStart() {
-
- Map> replicaSets = new LinkedHashMap<>();
- replicaSets.put(configServerReplicaSetName, initConfigServers());
- replicaSets.put(replicaSetName, initReplicaSet());
-
- // create mongos
- var mongosConfig = defaultMongosConfig(serverVersion, mongosPort, defaultCommandOptions(),
- configServerReplicaSetName, configServerPorts[0]);
-
- mongosTestFactory = new MongosSystemForTestFactory(mongosConfig, replicaSets, Collections.emptyList(),
- DEFAULT_SHARDING, DEFAULT_SHARDING, DEFAULT_SHARD_KEY, outputFunction);
-
- try {
- LOGGER.info(String.format("Starting config servers at ports %s",
- StringUtils.arrayToCommaDelimitedString(configServerPorts)));
- LOGGER.info(String.format("Starting replica set '%s' servers at ports %s", replicaSetName,
- StringUtils.arrayToCommaDelimitedString(serverPorts)));
-
- mongosTestFactory.start();
-
- LOGGER
- .info(String.format("Replica set '%s' started. Connection String: %s", replicaSetName, connectionString()));
- } catch (Throwable e) {
- throw new RuntimeException(" Error while starting cluster. ", e);
- }
- }
-
- private List initReplicaSet() {
-
- List rs = new ArrayList<>();
-
- for (int port : serverPorts) {
- rs.add(defaultMongodConfig(serverVersion, port, defaultCommandOptions(), false, true, replicaSetName));
- }
- return rs;
- }
-
- private List initConfigServers() {
-
- List configServers = new ArrayList<>(configServerPorts.length);
-
- for (var port : configServerPorts) {
- configServers.add(
- defaultMongodConfig(serverVersion, port, defaultCommandOptions(), true, false, configServerReplicaSetName));
- }
- return configServers;
- }
-
- @Override
- public void stop() {
-
- if (mongosTestFactory != null) {
-
- LOGGER.info(String.format("Stopping replica set '%s' servers at ports %s", replicaSetName,
- StringUtils.arrayToCommaDelimitedString(serverPorts)));
-
- mongosTestFactory.stop();
- }
- }
-
- @Override
- public String connectionString() {
- return "mongodb://localhost:" + serverPorts[0] + "/?replicaSet=" + replicaSetName;
- }
- }
-
- /**
- * @return Default {@link IMongoCmdOptions command options}.
- */
- private static MongoCmdOptions defaultCommandOptions() {
-
- return MongoCmdOptions.builder() //
- .useNoPrealloc(false) //
- .useSmallFiles(false) //
- .useNoJournal(false) //
- .storageEngine(STORAGE_ENGINE) //
- .isVerbose(false) //
- .build();
- }
-
- /**
- * Create a default {@code mongod} config.
- *
- * @param version
- * @param port
- * @param cmdOptions
- * @param configServer
- * @param shardServer
- * @param replicaSet
- * @return
- */
- private static MongodConfig defaultMongodConfig(IFeatureAwareVersion version, int port, MongoCmdOptions cmdOptions,
- boolean configServer, boolean shardServer, String replicaSet) {
-
- try {
-
- var builder = MongodConfig.builder() //
- .version(version) //
- .putArgs("--quiet", null) //
- .net(new Net(LOCALHOST, port, Network.localhostIsIPv6())) //
- .isConfigServer(configServer).cmdOptions(cmdOptions); //
-
- if (StringUtils.hasText(replicaSet)) {
-
- builder = builder //
- .replication(new Storage(null, replicaSet, 0));
-
- if (!configServer) {
- builder = builder.isShardServer(shardServer);
- } else {
- builder = builder.isShardServer(false);
- }
- }
-
- return builder.build();
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * Create a default {@code mongos} config.
- *
- * @param version
- * @param port
- * @param cmdOptions
- * @param configServerReplicaSet
- * @param configServerPort
- * @return
- */
- private static MongosConfig defaultMongosConfig(IFeatureAwareVersion version, int port, MongoCmdOptions cmdOptions,
- String configServerReplicaSet, int configServerPort) {
-
- try {
-
- var builder = MongosConfig.builder() //
- .version(version) //
- .putArgs("--quiet", null) //
- .net(new Net(LOCALHOST, port, Network.localhostIsIPv6())) //
- .cmdOptions(cmdOptions);
-
- if (StringUtils.hasText(configServerReplicaSet)) {
- builder = builder.replicaSet(configServerReplicaSet) //
- .configDB(LOCALHOST + ":" + configServerPort);
- }
-
- return builder.build();
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
-}
diff --git a/mongodb/util/src/main/java/example/springdata/mongodb/util/MongoContainers.java b/mongodb/util/src/main/java/example/springdata/mongodb/util/MongoContainers.java
new file mode 100644
index 000000000..d286170a1
--- /dev/null
+++ b/mongodb/util/src/main/java/example/springdata/mongodb/util/MongoContainers.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.mongodb.util;
+
+import org.testcontainers.mongodb.MongoDBAtlasLocalContainer;
+import org.testcontainers.mongodb.MongoDBContainer;
+import org.testcontainers.utility.DockerImageName;
+
+/**
+ * Utility methods to create a {@link MongoDBContainer}.
+ *
+ * @author Mark Paluch
+ * @author Christoph Strobl
+ */
+public class MongoContainers {
+
+ private static final String IMAGE_NAME = "mongo:8.0";
+ private static final String IMAGE_NAME_PROPERTY = "mongo.default.image.name";
+
+ private static final String ATLAS_IMAGE_NAME = "mongodb/mongodb-atlas-local:latest";
+ private static final String ATLAS_IMAGE_NAME_PROPERTY = "mongo.atlas.image.name";
+
+ public static MongoDBContainer getDefaultContainer() {
+ return new MongoDBContainer(DockerImageName.parse(System.getProperty(IMAGE_NAME_PROPERTY, IMAGE_NAME)))
+ .withReuse(true);
+ }
+
+ public static MongoDBAtlasLocalContainer getAtlasContainer() {
+ return new MongoDBAtlasLocalContainer(System.getProperty(ATLAS_IMAGE_NAME_PROPERTY, ATLAS_IMAGE_NAME))
+ .withReuse(true);
+ }
+}
diff --git a/mongodb/util/src/main/java/example/springdata/mongodb/util/MongosSystemForTestFactory.java b/mongodb/util/src/main/java/example/springdata/mongodb/util/MongosSystemForTestFactory.java
deleted file mode 100644
index f015559c1..000000000
--- a/mongodb/util/src/main/java/example/springdata/mongodb/util/MongosSystemForTestFactory.java
+++ /dev/null
@@ -1,288 +0,0 @@
-/*
- * Copyright 2018-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package example.springdata.mongodb.util;
-
-import de.flapdoodle.embed.mongo.Command;
-import de.flapdoodle.embed.mongo.MongodExecutable;
-import de.flapdoodle.embed.mongo.MongodProcess;
-import de.flapdoodle.embed.mongo.MongodStarter;
-import de.flapdoodle.embed.mongo.MongosExecutable;
-import de.flapdoodle.embed.mongo.MongosProcess;
-import de.flapdoodle.embed.mongo.MongosStarter;
-import de.flapdoodle.embed.mongo.config.MongodConfig;
-import de.flapdoodle.embed.mongo.config.MongosConfig;
-import de.flapdoodle.embed.mongo.config.Net;
-import de.flapdoodle.embed.process.config.RuntimeConfig;
-import de.flapdoodle.embed.process.config.io.ProcessOutput;
-import lombok.SneakyThrows;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.concurrent.TimeUnit;
-import java.util.function.Function;
-
-import org.bson.Document;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.mongodb.BasicDBList;
-import com.mongodb.BasicDBObject;
-import com.mongodb.DBObject;
-import com.mongodb.MongoClientSettings;
-import com.mongodb.ServerAddress;
-import com.mongodb.client.FindIterable;
-import com.mongodb.client.MongoClient;
-import com.mongodb.client.MongoClients;
-import com.mongodb.client.MongoCursor;
-import com.mongodb.client.MongoDatabase;
-
-class MongosSystemForTestFactory {
-
- private final static Logger logger = LoggerFactory
- .getLogger(MongosSystemForTestFactory.class);
-
- public static final String ADMIN_DATABASE_NAME = "admin";
- public static final String LOCAL_DATABASE_NAME = "local";
- public static final String REPLICA_SET_NAME = "rep1";
- public static final String OPLOG_COLLECTION = "oplog.rs";
-
- private final MongosConfig config;
- private final Map> replicaSets;
- private final List configServers;
- private final String shardDatabase;
- private final String shardCollection;
- private final String shardKey;
- private final Function outputFunction;
-
- private MongosExecutable mongosExecutable;
- private MongosProcess mongosProcess;
- private List mongodProcessList;
- private List mongodConfigProcessList;
-
- public MongosSystemForTestFactory(MongosConfig config, Map> replicaSets,
- List configServers, String shardDatabase,
- String shardCollection, String shardKey, Function outputFunction) {
- this.config = config;
- this.replicaSets = replicaSets;
- this.configServers = configServers;
- this.shardDatabase = shardDatabase;
- this.shardCollection = shardCollection;
- this.shardKey = shardKey;
- this.outputFunction = outputFunction;
- }
-
- public void start() throws Throwable {
- this.mongodProcessList = new ArrayList<>();
- this.mongodConfigProcessList = new ArrayList<>();
- for (var entry : replicaSets.entrySet()) {
- initializeReplicaSet(entry);
- }
- for (var config : configServers) {
- initializeConfigServer(config);
- }
- initializeMongos();
- configureMongos();
- }
-
- private void initializeReplicaSet(Entry> entry)
- throws Exception {
- var replicaName = entry.getKey();
- var mongoConfigList = entry.getValue();
-
- if (mongoConfigList.size() < 3) {
- throw new Exception(
- "A replica set must contain at least 3 members.");
- }
- // Create 3 mongod processes
- for (var mongoConfig : mongoConfigList) {
- if (!mongoConfig.replication().getReplSetName().equals(replicaName)) {
- throw new Exception(
- "Replica set name must match in mongo configuration");
- }
- RuntimeConfig runtimeConfig = RuntimeConfig.builder()
- // .defaultsWithLogger(Command.MongoD,logger)
- .processOutput(outputFunction.apply(Command.MongoD))
- .build();
- var starter = MongodStarter.getInstance(runtimeConfig);
- var mongodExe = starter.prepare(mongoConfig);
- var process = mongodExe.start();
- mongodProcessList.add(process);
- }
- Thread.sleep(1000);
- var mo = MongoClientSettings.builder()
- .applyToSocketSettings(builder -> builder.connectTimeout(10, TimeUnit.SECONDS)).applyToClusterSettings(
- builder -> builder.hosts(Collections.singletonList(toAddress(mongoConfigList.get(0).net()))))
- .build();
- var mongo = MongoClients.create(mo);
- var mongoAdminDB = mongo.getDatabase(ADMIN_DATABASE_NAME);
-
- var cr = mongoAdminDB.runCommand(new Document("isMaster", 1));
- logger.info("isMaster: {}", cr);
-
- // Build BSON object replica set settings
- DBObject replicaSetSetting = new BasicDBObject();
- replicaSetSetting.put("_id", replicaName);
- var members = new BasicDBList();
- var i = 0;
- for (var mongoConfig : mongoConfigList) {
- DBObject host = new BasicDBObject();
- host.put("_id", i++);
- host.put("host", mongoConfig.net().getServerAddress().getHostName()
- + ":" + mongoConfig.net().getPort());
- members.add(host);
- }
-
- replicaSetSetting.put("members", members);
- logger.info(replicaSetSetting.toString());
- // Initialize replica set
- cr = mongoAdminDB.runCommand(new Document("replSetInitiate",
- replicaSetSetting));
- logger.info("replSetInitiate: {}", cr);
-
- Thread.sleep(5000);
- cr = mongoAdminDB.runCommand(new Document("replSetGetStatus", 1));
- logger.info("replSetGetStatus: {}", cr);
-
- // Check replica set status before to proceed
- while (!isReplicaSetStarted(cr)) {
- logger.info("Waiting for 3 seconds...");
- Thread.sleep(1000);
- cr = mongoAdminDB.runCommand(new Document("replSetGetStatus", 1));
- logger.info("replSetGetStatus: {}", cr);
- }
-
- mongo.close();
- mongo = null;
- }
-
- private boolean isReplicaSetStarted(Document setting) {
- if (setting.get("members") == null) {
- return false;
- }
-
- var members = (List) setting.get("members");
- for (var m : members) {
- var member = (Document) m;
- logger.info(member.toString());
- var state = member.getInteger("state", 0);
- logger.info("state: {}", state);
- // 1 - PRIMARY, 2 - SECONDARY, 7 - ARBITER
- if (state != 1 && state != 2 && state != 7) {
- return false;
- }
- }
- return true;
- }
-
- private void initializeConfigServer(MongodConfig config) throws Exception {
- if (!config.isConfigServer()) {
- throw new Exception(
- "Mongo configuration is not a defined for a config server.");
- }
- var starter = MongodStarter.getDefaultInstance();
- var mongodExe = starter.prepare(config);
- var process = mongodExe.start();
- mongodProcessList.add(process);
- }
-
- private void initializeMongos() throws Exception {
- var runtime = MongosStarter.getInstance(RuntimeConfig.builder()
- // .defaultsWithLogger(Command.MongoS,logger)
- .processOutput(outputFunction.apply(Command.MongoS))
- .build());
-
- mongosExecutable = runtime.prepare(config);
- mongosProcess = mongosExecutable.start();
- }
-
- private void configureMongos() throws Exception {
- Document cr;
- var options = MongoClientSettings.builder()
- .applyToSocketSettings(builder -> builder.connectTimeout(10, TimeUnit.SECONDS))
- .applyToClusterSettings(builder -> builder.hosts(Collections.singletonList(toAddress(this.config.net()))))
- .build();
- try (var mongo = MongoClients.create(options)) {
- var mongoAdminDB = mongo.getDatabase(ADMIN_DATABASE_NAME);
-
- // Add shard from the replica set list
- for (var entry : this.replicaSets
- .entrySet()) {
- var replicaName = entry.getKey();
- var command = "";
- for (var mongodConfig : entry.getValue()) {
- if (command.isEmpty()) {
- command = replicaName + "/";
- } else {
- command += ",";
- }
- command += mongodConfig.net().getServerAddress().getHostName()
- + ":" + mongodConfig.net().getPort();
- }
- logger.info("Execute add shard command: {}", command);
- cr = mongoAdminDB.runCommand(new Document("addShard", command));
- logger.info(cr.toString());
- }
-
- logger.info("Execute list shards.");
- cr = mongoAdminDB.runCommand(new Document("listShards", 1));
- logger.info(cr.toString());
-
- // Enabled sharding at database level
- logger.info("Enabled sharding at database level");
- cr = mongoAdminDB.runCommand(new Document("enableSharding",
- this.shardDatabase));
- logger.info(cr.toString());
-
- // Create index in sharded collection
- logger.info("Create index in sharded collection");
- var db = mongo.getDatabase(this.shardDatabase);
- db.getCollection(this.shardCollection).createIndex(new Document(this.shardKey, 1));
-
- // Shard the collection
- logger.info("Shard the collection: {}.{}", this.shardDatabase, this.shardCollection);
- var cmd = new Document();
- cmd.put("shardCollection", this.shardDatabase + "." + this.shardCollection);
- cmd.put("key", new BasicDBObject(this.shardKey, 1));
- cr = mongoAdminDB.runCommand(cmd);
- logger.info(cr.toString());
-
- logger.info("Get info from config/shards");
- var cursor = mongo.getDatabase("config").getCollection("shards").find();
- for (Document item : cursor) {
- logger.info(item.toString());
- }
- }
-
- }
-
- @SneakyThrows
- private static ServerAddress toAddress(Net net) {
- return new ServerAddress(net.getServerAddress(), net.getPort());
- }
-
- public void stop() {
- for (var process : this.mongodProcessList) {
- process.stop();
- }
- for (var process : this.mongodConfigProcessList) {
- process.stop();
- }
- this.mongosProcess.stop();
- }
-}
diff --git a/mongodb/util/src/main/resources/application.properties b/mongodb/util/src/main/resources/application.properties
new file mode 100644
index 000000000..b5c5e0b76
--- /dev/null
+++ b/mongodb/util/src/main/resources/application.properties
@@ -0,0 +1 @@
+logging.level.root=INFO
diff --git a/mongodb/util/src/main/resources/logback.xml b/mongodb/util/src/main/resources/logback.xml
new file mode 100644
index 000000000..eace9e626
--- /dev/null
+++ b/mongodb/util/src/main/resources/logback.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+ %d %5p %40.40c:%4L - %m%n
+
+
+
+
+
+
+
+
diff --git a/multi-store/README.md b/multi-store/README.md
index 7875ee65c..edb4b989f 100644
--- a/multi-store/README.md
+++ b/multi-store/README.md
@@ -1,6 +1,6 @@
# Spring Data - Multi-store example
-This sample shows a project working with multiple Spring Data modules and how the repository auto-detection has become more strict with the Evans release train.
+This sample shows a project working with multiple Spring Data modules and how the repository auto-detection has become stricter with the Evans release train.
If you run `ApplicationConfigurationTest` you should see the following output:
diff --git a/multi-store/pom.xml b/multi-store/pom.xml
index 5c53decb3..f489e8afd 100644
--- a/multi-store/pom.xml
+++ b/multi-store/pom.xml
@@ -2,16 +2,15 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0%20https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- spring-data-multi-store-example
-
- Spring Data - Multi-store example
-
org.springframework.data.examplesspring-data-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
+ spring-data-multi-store-example
+ Spring Data - Multi-store example
+
@@ -30,6 +29,14 @@
test
+
+
+
+ org.testcontainers
+ testcontainers-mongodb
+ test
+
+
-
\ No newline at end of file
+
diff --git a/multi-store/src/main/java/example/springdata/multistore/customer/Address.java b/multi-store/src/main/java/example/springdata/multistore/customer/Address.java
index 98522b910..b88a3128b 100644
--- a/multi-store/src/main/java/example/springdata/multistore/customer/Address.java
+++ b/multi-store/src/main/java/example/springdata/multistore/customer/Address.java
@@ -15,7 +15,7 @@
*/
package example.springdata.multistore.customer;
-import javax.persistence.Embeddable;
+import jakarta.persistence.Embeddable;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
diff --git a/multi-store/src/main/java/example/springdata/multistore/customer/Customer.java b/multi-store/src/main/java/example/springdata/multistore/customer/Customer.java
index eaba896c5..20e9b9bea 100644
--- a/multi-store/src/main/java/example/springdata/multistore/customer/Customer.java
+++ b/multi-store/src/main/java/example/springdata/multistore/customer/Customer.java
@@ -15,9 +15,9 @@
*/
package example.springdata.multistore.customer;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
import lombok.Data;
diff --git a/multi-store/src/main/java/example/springdata/multistore/shop/LineItem.java b/multi-store/src/main/java/example/springdata/multistore/shop/LineItem.java
index edfe5b235..bfab00782 100644
--- a/multi-store/src/main/java/example/springdata/multistore/shop/LineItem.java
+++ b/multi-store/src/main/java/example/springdata/multistore/shop/LineItem.java
@@ -18,7 +18,7 @@
import lombok.Data;
import lombok.RequiredArgsConstructor;
-import org.springframework.data.annotation.PersistenceConstructor;
+import org.springframework.data.annotation.PersistenceCreator;
/**
* A line item.
@@ -27,7 +27,7 @@
* @author Oliver Gierke
*/
@Data
-@RequiredArgsConstructor(onConstructor = @__(@PersistenceConstructor))
+@RequiredArgsConstructor(onConstructor = @__(@PersistenceCreator))
public class LineItem {
private final String caption;
diff --git a/multi-store/src/main/java/example/springdata/multistore/shop/Order.java b/multi-store/src/main/java/example/springdata/multistore/shop/Order.java
index d1f8d7ae6..2065201e5 100644
--- a/multi-store/src/main/java/example/springdata/multistore/shop/Order.java
+++ b/multi-store/src/main/java/example/springdata/multistore/shop/Order.java
@@ -22,7 +22,7 @@
import lombok.Data;
import lombok.RequiredArgsConstructor;
-import org.springframework.data.annotation.PersistenceConstructor;
+import org.springframework.data.annotation.PersistenceCreator;
import org.springframework.data.mongodb.core.mapping.Document;
/**
@@ -33,7 +33,7 @@
* @author Oliver Gierke
*/
@Data
-@RequiredArgsConstructor(onConstructor = @__(@PersistenceConstructor))
+@RequiredArgsConstructor(onConstructor = @__(@PersistenceCreator))
@Document
public class Order {
diff --git a/multi-store/src/test/java/example/springdata/multistore/ApplicationConfigurationTest.java b/multi-store/src/test/java/example/springdata/multistore/ApplicationConfigurationTest.java
index 7eac97ffe..47273583c 100644
--- a/multi-store/src/test/java/example/springdata/multistore/ApplicationConfigurationTest.java
+++ b/multi-store/src/test/java/example/springdata/multistore/ApplicationConfigurationTest.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2014-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -15,34 +15,46 @@
*/
package example.springdata.multistore;
+import static org.assertj.core.api.Assertions.*;
+
import example.springdata.multistore.customer.Customer;
import example.springdata.multistore.shop.Order;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.context.TestConfiguration;
+import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Bean;
import org.springframework.data.jpa.repository.support.JpaEntityInformation;
import org.springframework.data.mongodb.repository.query.MongoEntityInformation;
import org.springframework.data.repository.support.Repositories;
-import org.springframework.test.context.junit4.SpringRunner;
-
-import static org.assertj.core.api.Assertions.assertThat;
+import org.testcontainers.mongodb.MongoDBContainer;
+import org.testcontainers.utility.DockerImageName;
/**
* Integration test to check repository interfaces are assigned to the correct store modules.
*
* @author Oliver Gierke
*/
-@RunWith(SpringRunner.class)
@SpringBootTest
-public class ApplicationConfigurationTest {
+class ApplicationConfigurationTest {
@Autowired ApplicationContext context;
+ @TestConfiguration
+ static class Infrastructure {
+
+ @Bean
+ @ServiceConnection
+ MongoDBContainer mongoDBContainer() {
+ return new MongoDBContainer(DockerImageName.parse("mongodb/mongodb-community-server"));
+ }
+ }
+
@Test
- public void repositoriesAreAssignedToAppropriateStores() {
+ void repositoriesAreAssignedToAppropriateStores() {
var repositories = new Repositories(context);
diff --git a/multi-store/src/test/resources/logback.xml b/multi-store/src/test/resources/logback.xml
index 0478c08d7..5a76a8fe3 100644
--- a/multi-store/src/test/resources/logback.xml
+++ b/multi-store/src/test/resources/logback.xml
@@ -13,4 +13,4 @@
-
\ No newline at end of file
+
diff --git a/mvnw b/mvnw
new file mode 100755
index 000000000..8a8fb2282
--- /dev/null
+++ b/mvnw
@@ -0,0 +1,316 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Maven Start Up Batch script
+#
+# Required ENV vars:
+# ------------------
+# JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+# M2_HOME - location of maven2's installed home dir
+# MAVEN_OPTS - parameters passed to the Java VM when running Maven
+# e.g. to debug Maven itself, use
+# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+# ----------------------------------------------------------------------------
+
+if [ -z "$MAVEN_SKIP_RC" ] ; then
+
+ if [ -f /usr/local/etc/mavenrc ] ; then
+ . /usr/local/etc/mavenrc
+ fi
+
+ if [ -f /etc/mavenrc ] ; then
+ . /etc/mavenrc
+ fi
+
+ if [ -f "$HOME/.mavenrc" ] ; then
+ . "$HOME/.mavenrc"
+ fi
+
+fi
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+ CYGWIN*) cygwin=true ;;
+ MINGW*) mingw=true;;
+ Darwin*) darwin=true
+ # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
+ # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
+ if [ -z "$JAVA_HOME" ]; then
+ if [ -x "/usr/libexec/java_home" ]; then
+ export JAVA_HOME="`/usr/libexec/java_home`"
+ else
+ export JAVA_HOME="/Library/Java/Home"
+ fi
+ fi
+ ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+ if [ -r /etc/gentoo-release ] ; then
+ JAVA_HOME=`java-config --jre-home`
+ fi
+fi
+
+if [ -z "$M2_HOME" ] ; then
+ ## resolve links - $0 may be a link to maven's home
+ PRG="$0"
+
+ # need this for relative symlinks
+ while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG="`dirname "$PRG"`/$link"
+ fi
+ done
+
+ saveddir=`pwd`
+
+ M2_HOME=`dirname "$PRG"`/..
+
+ # make it fully qualified
+ M2_HOME=`cd "$M2_HOME" && pwd`
+
+ cd "$saveddir"
+ # echo Using m2 at $M2_HOME
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=`cygpath --unix "$M2_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# For Mingw, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME="`(cd "$M2_HOME"; pwd)`"
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ javaExecutable="`which javac`"
+ if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
+ # readlink(1) is not available as standard on Solaris 10.
+ readLink=`which readlink`
+ if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
+ if $darwin ; then
+ javaHome="`dirname \"$javaExecutable\"`"
+ javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
+ else
+ javaExecutable="`readlink -f \"$javaExecutable\"`"
+ fi
+ javaHome="`dirname \"$javaExecutable\"`"
+ javaHome=`expr "$javaHome" : '\(.*\)/bin'`
+ JAVA_HOME="$javaHome"
+ export JAVA_HOME
+ fi
+ fi
+fi
+
+if [ -z "$JAVACMD" ] ; then
+ if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ else
+ JAVACMD="`\\unset -f command; \\command -v java`"
+ fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+ echo "Error: JAVA_HOME is not defined correctly." >&2
+ echo " We cannot execute $JAVACMD" >&2
+ exit 1
+fi
+
+if [ -z "$JAVA_HOME" ] ; then
+ echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir() {
+
+ if [ -z "$1" ]
+ then
+ echo "Path not specified to find_maven_basedir"
+ return 1
+ fi
+
+ basedir="$1"
+ wdir="$1"
+ while [ "$wdir" != '/' ] ; do
+ if [ -d "$wdir"/.mvn ] ; then
+ basedir=$wdir
+ break
+ fi
+ # workaround for JBEAP-8937 (on Solaris 10/Sparc)
+ if [ -d "${wdir}" ]; then
+ wdir=`cd "$wdir/.."; pwd`
+ fi
+ # end of workaround
+ done
+ echo "${basedir}"
+}
+
+# concatenates all lines of a file
+concat_lines() {
+ if [ -f "$1" ]; then
+ echo "$(tr -s '\n' ' ' < "$1")"
+ fi
+}
+
+BASE_DIR=`find_maven_basedir "$(pwd)"`
+if [ -z "$BASE_DIR" ]; then
+ exit 1;
+fi
+
+##########################################################################################
+# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+# This allows using the maven wrapper in projects that prohibit checking in binary data.
+##########################################################################################
+if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found .mvn/wrapper/maven-wrapper.jar"
+ fi
+else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
+ fi
+ if [ -n "$MVNW_REPOURL" ]; then
+ jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
+ else
+ jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
+ fi
+ while IFS="=" read key value; do
+ case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
+ esac
+ done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Downloading from: $jarUrl"
+ fi
+ wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
+ if $cygwin; then
+ wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
+ fi
+
+ if command -v wget > /dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found wget ... using wget"
+ fi
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
+ else
+ wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
+ fi
+ elif command -v curl > /dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found curl ... using curl"
+ fi
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ curl -o "$wrapperJarPath" "$jarUrl" -f
+ else
+ curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
+ fi
+
+ else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Falling back to using Java to download"
+ fi
+ javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
+ # For Cygwin, switch paths to Windows format before running javac
+ if $cygwin; then
+ javaClass=`cygpath --path --windows "$javaClass"`
+ fi
+ if [ -e "$javaClass" ]; then
+ if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Compiling MavenWrapperDownloader.java ..."
+ fi
+ # Compiling the Java class
+ ("$JAVA_HOME/bin/javac" "$javaClass")
+ fi
+ if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ # Running the downloader
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Running MavenWrapperDownloader.java ..."
+ fi
+ ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
+ fi
+ fi
+ fi
+fi
+##########################################################################################
+# End of extension
+##########################################################################################
+
+export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
+if [ "$MVNW_VERBOSE" = true ]; then
+ echo $MAVEN_PROJECTBASEDIR
+fi
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=`cygpath --path --windows "$M2_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+ [ -n "$MAVEN_PROJECTBASEDIR" ] &&
+ MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
+fi
+
+# Provide a "standardized" way to retrieve the CLI args that will
+# work with both Windows and non-Windows executions.
+MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
+export MAVEN_CMD_LINE_ARGS
+
+WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+exec "$JAVACMD" \
+ $MAVEN_OPTS \
+ $MAVEN_DEBUG_OPTS \
+ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
+ "-Dmaven.home=${M2_HOME}" \
+ "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/mvnw.cmd b/mvnw.cmd
new file mode 100644
index 000000000..1d8ab018e
--- /dev/null
+++ b/mvnw.cmd
@@ -0,0 +1,188 @@
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM https://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@REM ----------------------------------------------------------------------------
+@REM Maven Start Up Batch script
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@REM M2_HOME - location of maven2's installed home dir
+@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
+@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
+@REM e.g. to debug Maven itself, use
+@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+@REM ----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM set title of command window
+title %0
+@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
+
+@REM Execute a user defined script before this one
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
+@REM check for pre script, once with legacy .bat ending and once with .cmd ending
+if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
+if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
+:skipRcPre
+
+@setlocal
+
+set ERROR_CODE=0
+
+@REM To isolate internal variables from possible post scripts, we use another setlocal
+@setlocal
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo Error: JAVA_HOME not found in your environment. >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto init
+
+echo.
+echo Error: JAVA_HOME is set to an invalid directory. >&2
+echo JAVA_HOME = "%JAVA_HOME%" >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+@REM ==== END VALIDATION ====
+
+:init
+
+@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
+@REM Fallback to current working directory if not found.
+
+set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
+IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
+
+set EXEC_DIR=%CD%
+set WDIR=%EXEC_DIR%
+:findBaseDir
+IF EXIST "%WDIR%"\.mvn goto baseDirFound
+cd ..
+IF "%WDIR%"=="%CD%" goto baseDirNotFound
+set WDIR=%CD%
+goto findBaseDir
+
+:baseDirFound
+set MAVEN_PROJECTBASEDIR=%WDIR%
+cd "%EXEC_DIR%"
+goto endDetectBaseDir
+
+:baseDirNotFound
+set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
+cd "%EXEC_DIR%"
+
+:endDetectBaseDir
+
+IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
+
+@setlocal EnableExtensions EnableDelayedExpansion
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
+@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
+
+:endReadAdditionalConfig
+
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
+set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
+
+FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
+ IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
+)
+
+@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
+if exist %WRAPPER_JAR% (
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Found %WRAPPER_JAR%
+ )
+) else (
+ if not "%MVNW_REPOURL%" == "" (
+ SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
+ )
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Couldn't find %WRAPPER_JAR%, downloading it ...
+ echo Downloading from: %DOWNLOAD_URL%
+ )
+
+ powershell -Command "&{"^
+ "$webclient = new-object System.Net.WebClient;"^
+ "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
+ "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
+ "}"^
+ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
+ "}"
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Finished downloading %WRAPPER_JAR%
+ )
+)
+@REM End of extension
+
+@REM Provide a "standardized" way to retrieve the CLI args that will
+@REM work with both Windows and non-Windows executions.
+set MAVEN_CMD_LINE_ARGS=%*
+
+%MAVEN_JAVA_EXE% ^
+ %JVM_CONFIG_MAVEN_PROPS% ^
+ %MAVEN_OPTS% ^
+ %MAVEN_DEBUG_OPTS% ^
+ -classpath %WRAPPER_JAR% ^
+ "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
+ %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+set ERROR_CODE=1
+
+:end
+@endlocal & set ERROR_CODE=%ERROR_CODE%
+
+if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
+@REM check for post script, once with legacy .bat ending and once with .cmd ending
+if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
+if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
+:skipRcPost
+
+@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%"=="on" pause
+
+if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
+
+cmd /C exit /B %ERROR_CODE%
diff --git a/neo4j/example/pom.xml b/neo4j/example/pom.xml
index 40a63ac18..bc6d3b390 100644
--- a/neo4j/example/pom.xml
+++ b/neo4j/example/pom.xml
@@ -9,7 +9,7 @@
org.springframework.data.examplesspring-data-neo4j-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
diff --git a/neo4j/example/src/main/java/example/springdata/neo4j/Roles.java b/neo4j/example/src/main/java/example/springdata/neo4j/Roles.java
index 578e9eae3..40755c71c 100644
--- a/neo4j/example/src/main/java/example/springdata/neo4j/Roles.java
+++ b/neo4j/example/src/main/java/example/springdata/neo4j/Roles.java
@@ -19,7 +19,7 @@
import java.util.Collections;
import java.util.List;
-import org.springframework.data.annotation.PersistenceConstructor;
+import org.springframework.data.annotation.PersistenceCreator;
import org.springframework.data.neo4j.core.schema.GeneratedValue;
import org.springframework.data.neo4j.core.schema.Id;
import org.springframework.data.neo4j.core.schema.RelationshipProperties;
@@ -47,7 +47,7 @@ public Roles() {
this(Collections.emptyList());
}
- @PersistenceConstructor
+ @PersistenceCreator
public Roles(List roles) {
this.roles = new ArrayList<>(roles);
}
diff --git a/neo4j/example/src/test/java/example/springdata/neo4j/ActorRepositoryIntegrationTest.java b/neo4j/example/src/test/java/example/springdata/neo4j/ActorRepositoryIntegrationTest.java
index 69ff51451..5575372a4 100644
--- a/neo4j/example/src/test/java/example/springdata/neo4j/ActorRepositoryIntegrationTest.java
+++ b/neo4j/example/src/test/java/example/springdata/neo4j/ActorRepositoryIntegrationTest.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2015-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -29,7 +29,7 @@
import org.springframework.test.context.DynamicPropertyRegistry;
import org.springframework.test.context.DynamicPropertySource;
-import org.testcontainers.containers.Neo4jContainer;
+import org.testcontainers.neo4j.Neo4jContainer;
/**
* Simple integration test demonstrating the use of the ActorRepository
@@ -47,7 +47,7 @@ class ActorRepositoryIntegrationTest {
@BeforeAll
static void stopNeo4j() {
- container = new Neo4jContainer("neo4j:4.2.5");
+ container = new Neo4jContainer("neo4j:5.26.12");
container.start();
}
diff --git a/neo4j/pom.xml b/neo4j/pom.xml
index a622b543d..ddf6cfb0b 100644
--- a/neo4j/pom.xml
+++ b/neo4j/pom.xml
@@ -10,23 +10,22 @@
org.springframework.data.examplesspring-data-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
- Spring Data Neo4j 4 - Examples
- Sample projects for Spring Data Neo4j 4
+ Spring Data Neo4j - Examples
+ Sample projects for Spring Data Neo4jexample
-
org.testcontainers
- neo4j
+ testcontainers-neo4j
diff --git a/pom.xml b/pom.xml
index 93d9c0815..4b9ec47be 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data.examplesspring-data-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTpomSpring Data - Examples
@@ -13,15 +13,14 @@
org.springframework.bootspring-boot-starter-parent
- 2.5.4
+ 4.0.0-RC2bom
-
+ couchbasecassandraelasticsearch
-
jdbcjpaldap
@@ -36,63 +35,77 @@
- 16
- 16
- 1.11.14
- 1.15.3
- 1.5.01.1.3
- UTF-8
+ 25
+ 25
+ 2025.1.0-RC2
+ 7.0.0-RC3spring-data-next-releasetrain
- 2021.1.0-SNAPSHOT
+ 2025.1.0-SNAPSHOTspring-data-next
- 2021.0.1-SNAPSHOT
+ 2025.0.0-SNAPSHOT
+
+ ci
+
+
+
+ maven-surefire-plugin
+
+
+ true
+
+
+
+
+
+
+
odrotbohmOliver Drotbohm
- odrotbohm@pivotal.io
+ odrotbohm@vmware.comtdarimontThomas Darimont
- tdarimont@gopivotal.io
+ tdarimont@vmware.comcstroblChristoph Strobl
- cstrobl@pivotal.io
+ cstrobl@vmware.comgturnquistGreg Turnquist
- gturnquist@pivotal.io
+ gturnquist@vmware.commpaluchMark Paluch
- mpaluch@pivotal.io
+ mpaluch@vmware.comjschauderJens Schauder
- jschauder@pivotal.io
+ jschauder@vmware.com
@@ -106,12 +119,6 @@
import
-
- org.springframework.data
- spring-data-keyvalue
- 2.5.1-SNAPSHOT
-
-
org.awaitilityawaitility
@@ -143,56 +150,35 @@
- junit
- junit
- test
-
-
- org.junit.jupiter
- junit-jupiter-engine
- test
-
-
- org.junit.vintage
- junit-vintage-engine
+ org.springframework.boot
+ spring-boot-testcontainerstest
-
-
-
- javax.xml.bind
- jaxb-api
-
- javax.annotation
- javax.annotation-api
+ com.github.javafaker
+ javafaker
+ 1.0.2
+ test
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
- 16
- true
-
-
-
-
-
centralMaven Centralhttps://repo1.maven.org/maven2/
+
+ false
+
- spring-libs-snapshot
- https://repo.spring.io/libs-snapshot
+ spring-snapshot
+ https://repo.spring.io/snapshot
+
+ false
+
@@ -201,11 +187,63 @@
centralMaven Centralhttps://repo1.maven.org/maven2/
+
+ false
+
- spring-libs-snapshot
- https://repo.spring.io/libs-snapshot
+ spring-snapshot
+ https://repo.spring.io/snapshot
+
+ false
+
+
+
+
+
+ com.gradle
+ develocity-maven-extension
+
+
+
+
+ maven-surefire-plugin
+
+ these tests showcase Spring Data features and should always rerun
+
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+ true
+
+
+
+
+
diff --git a/r2dbc/example/pom.xml b/r2dbc/example/pom.xml
index 5872662a6..ea7d39cfa 100644
--- a/r2dbc/example/pom.xml
+++ b/r2dbc/example/pom.xml
@@ -6,11 +6,10 @@
org.springframework.data.examplesspring-data-r2dbc-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-r2dbc-example
-
Spring Data R2DBC - Example
diff --git a/r2dbc/example/src/main/java/example/springdata/r2dbc/basics/CustomerRepository.java b/r2dbc/example/src/main/java/example/springdata/r2dbc/basics/CustomerRepository.java
index bbf002b6b..5358fb499 100644
--- a/r2dbc/example/src/main/java/example/springdata/r2dbc/basics/CustomerRepository.java
+++ b/r2dbc/example/src/main/java/example/springdata/r2dbc/basics/CustomerRepository.java
@@ -15,6 +15,7 @@
*/
package example.springdata.r2dbc.basics;
+import org.springframework.data.domain.Limit;
import reactor.core.publisher.Flux;
import org.springframework.data.r2dbc.repository.Query;
@@ -28,4 +29,6 @@ interface CustomerRepository extends ReactiveCrudRepository {
@Query("select id, firstname, lastname from customer c where c.lastname = :lastname")
Flux findByLastname(String lastname);
+
+ Flux findByLastname(String lastname, Limit limit);
}
diff --git a/r2dbc/example/src/main/java/example/springdata/r2dbc/entitycallback/ApplicationConfiguration.java b/r2dbc/example/src/main/java/example/springdata/r2dbc/entitycallback/ApplicationConfiguration.java
index 4bbc05b7d..755cb77ef 100644
--- a/r2dbc/example/src/main/java/example/springdata/r2dbc/entitycallback/ApplicationConfiguration.java
+++ b/r2dbc/example/src/main/java/example/springdata/r2dbc/entitycallback/ApplicationConfiguration.java
@@ -41,7 +41,7 @@ BeforeConvertCallback idGeneratingCallback(DatabaseClient databaseClie
if (customer.id() == null) {
- return databaseClient.sql("SELECT primary_key.nextval") //
+ return databaseClient.sql("SELECT NEXT VALUE FOR primary_key") //
.map(row -> row.get(0, Long.class)) //
.first() //
.map(customer::withId);
diff --git a/r2dbc/example/src/test/java/example/springdata/r2dbc/basics/TransactionalServiceIntegrationTests.java b/r2dbc/example/src/test/java/example/springdata/r2dbc/basics/TransactionalServiceIntegrationTests.java
index f3fe9869a..6b788a337 100644
--- a/r2dbc/example/src/test/java/example/springdata/r2dbc/basics/TransactionalServiceIntegrationTests.java
+++ b/r2dbc/example/src/test/java/example/springdata/r2dbc/basics/TransactionalServiceIntegrationTests.java
@@ -15,6 +15,7 @@
*/
package example.springdata.r2dbc.basics;
+import org.springframework.data.domain.Limit;
import reactor.core.publisher.Hooks;
import reactor.test.StepVerifier;
@@ -72,6 +73,25 @@ void exceptionTriggersRollback() {
.verifyComplete();
}
+ @Test
+ void limitResultSize() {
+
+ service.save(new Customer(null, "Carter", "Matthews")) //
+ .as(StepVerifier::create) //
+ .expectNextMatches(Customer::hasId) //
+ .verifyComplete();
+
+ service.save(new Customer(null, "Evad", "Matthews")) //
+ .as(StepVerifier::create) //
+ .expectNextMatches(Customer::hasId) //
+ .verifyComplete();
+
+ repository.findByLastname("Matthews", Limit.of(1)) //
+ .as(StepVerifier::create) //
+ .expectNextCount(1)
+ .verifyComplete();
+ }
+
@Test // #500
void insertsDataTransactionally() {
diff --git a/r2dbc/pom.xml b/r2dbc/pom.xml
index fbb695753..5211efa4a 100644
--- a/r2dbc/pom.xml
+++ b/r2dbc/pom.xml
@@ -8,7 +8,7 @@
org.springframework.data.examplesspring-data-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTSpring Data R2DBC - Examples
diff --git a/r2dbc/query-by-example/pom.xml b/r2dbc/query-by-example/pom.xml
index ec3fc86c9..1d4eae627 100644
--- a/r2dbc/query-by-example/pom.xml
+++ b/r2dbc/query-by-example/pom.xml
@@ -7,11 +7,10 @@
org.springframework.data.examplesspring-data-r2dbc-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTspring-data-r2dbc-query-by-example
-
Spring Data R2DBC - Query by Example
diff --git a/redis/cluster-sentinel/README.md b/redis/cluster-sentinel/README.md
index 1c6e89f54..04a67d3b2 100644
--- a/redis/cluster-sentinel/README.md
+++ b/redis/cluster-sentinel/README.md
@@ -1,5 +1,5 @@
# Spring Data Redis Example
-The this example was named a bit misleading as `cluster-sentinel` is a mix of Redis Cluster and Redis Sentinel.
+This example was named a bit misleadingly as `cluster-sentinel`, a mix of Redis Cluster and Redis Sentinel.
Find dedicated examples here: [Redis Cluster](../cluster) and [Redis Sentinel](../sentinel).
diff --git a/redis/cluster/pom.xml b/redis/cluster/pom.xml
index 92dd9f3e7..f59c95b13 100644
--- a/redis/cluster/pom.xml
+++ b/redis/cluster/pom.xml
@@ -8,7 +8,7 @@
org.springframework.data.examplesspring-data-redis-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
diff --git a/redis/cluster/readme.md b/redis/cluster/readme.md
index 8ef68430d..b1a1a172f 100644
--- a/redis/cluster/readme.md
+++ b/redis/cluster/readme.md
@@ -6,7 +6,7 @@ To run the code in this sample a running cluster environment is required. Please
## Support for Cluster ##
-Cluster Support uses the same building blocks as the non clustered counterpart. We use `application.properties` to point to an initial set of known cluster nodes which will be picked up by the auto configuration.
+Cluster Support uses the same building blocks as the non-clustered counterpart. We use `application.properties` to point to an initial set of known cluster nodes which will be picked up by the auto-configuration.
```properties
spring.redis.cluster.nodes[0]=127.0.0.1:30001
@@ -81,7 +81,7 @@ redis/src $ ./redis-cli -c -p 30001
321978... 127.0.0.1:30006 slave 5f3e97... 0 1450765113050 6 connected
```
-To shutdown the cluster use the `create-cluster stop` command.
+To shut down the cluster use the `create-cluster stop` command.
```bash
redis/utils/create-cluster $ ./create-cluster stop
diff --git a/redis/example/pom.xml b/redis/example/pom.xml
index 2dc044e7a..d3f78c983 100644
--- a/redis/example/pom.xml
+++ b/redis/example/pom.xml
@@ -8,19 +8,8 @@
org.springframework.data.examplesspring-data-redis-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
-
-
-
- ${project.groupId}
- spring-data-redis-example-utils
- ${project.version}
- test
-
-
-
-
diff --git a/redis/example/src/test/java/example/springdata/redis/RedisTestConfiguration.java b/redis/example/src/test/java/example/springdata/redis/RedisTestConfiguration.java
index b02daf501..c7eff4316 100644
--- a/redis/example/src/test/java/example/springdata/redis/RedisTestConfiguration.java
+++ b/redis/example/src/test/java/example/springdata/redis/RedisTestConfiguration.java
@@ -15,11 +15,11 @@
*/
package example.springdata.redis;
-import javax.annotation.PreDestroy;
-
-import org.springframework.beans.factory.annotation.Autowired;
+import com.redis.testcontainers.RedisContainer;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
+import org.springframework.context.annotation.Bean;
+import org.testcontainers.utility.DockerImageName;
/**
* @author Christoph Strobl
@@ -27,12 +27,9 @@
@SpringBootApplication
public class RedisTestConfiguration {
- @Autowired RedisConnectionFactory factory;
-
- /**
- * Clear database before shut down.
- */
- public @PreDestroy void flushTestDb() {
- factory.getConnection().flushDb();
+ @Bean
+ @ServiceConnection(name = "redis")
+ RedisContainer redisContainer() {
+ return new RedisContainer(DockerImageName.parse("redis:7"));
}
}
diff --git a/redis/example/src/test/java/example/springdata/redis/commands/GeoOperationsTests.java b/redis/example/src/test/java/example/springdata/redis/commands/GeoOperationsTests.java
index b86bc8d8f..613ff6f79 100644
--- a/redis/example/src/test/java/example/springdata/redis/commands/GeoOperationsTests.java
+++ b/redis/example/src/test/java/example/springdata/redis/commands/GeoOperationsTests.java
@@ -15,13 +15,10 @@
*/
package example.springdata.redis.commands;
-import static org.assertj.core.api.Assertions.*;
-
-import example.springdata.redis.test.condition.EnabledOnCommand;
+import static org.assertj.core.api.Assertions.assertThat;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.geo.Circle;
@@ -37,7 +34,6 @@
* @author Mark Paluch
*/
@SpringBootTest
-@EnabledOnCommand("GEOADD")
class GeoOperationsTests {
@Autowired RedisOperations operations;
@@ -48,9 +44,9 @@ void before() {
geoOperations = operations.opsForGeo();
- geoOperations.geoAdd("Sicily", new Point(13.361389, 38.115556), "Arigento");
- geoOperations.geoAdd("Sicily", new Point(15.087269, 37.502669), "Catania");
- geoOperations.geoAdd("Sicily", new Point(13.583333, 37.316667), "Palermo");
+ geoOperations.add("Sicily", new Point(13.361389, 38.115556), "Arigento");
+ geoOperations.add("Sicily", new Point(15.087269, 37.502669), "Catania");
+ geoOperations.add("Sicily", new Point(13.583333, 37.316667), "Palermo");
}
/**
@@ -59,12 +55,12 @@ void before() {
@Test
void geoRadiusByMember() {
- var byDistance = geoOperations.geoRadiusByMember("Sicily", "Palermo",
+ var byDistance = geoOperations.radius("Sicily", "Palermo",
new Distance(100, DistanceUnit.KILOMETERS));
assertThat(byDistance).hasSize(2).extracting("content.name").contains("Arigento", "Palermo");
- var greaterDistance = geoOperations.geoRadiusByMember("Sicily", "Palermo",
+ var greaterDistance = geoOperations.radius("Sicily", "Palermo",
new Distance(200, DistanceUnit.KILOMETERS));
assertThat(greaterDistance).hasSize(3).extracting("content.name").contains("Arigento", "Catania", "Palermo");
@@ -78,7 +74,7 @@ void geoRadius() {
var circle = new Circle(new Point(13.583333, 37.316667), //
new Distance(100, DistanceUnit.KILOMETERS));
- var result = geoOperations.geoRadius("Sicily", circle);
+ var result = geoOperations.radius("Sicily", circle);
assertThat(result).hasSize(2).extracting("content.name").contains("Arigento", "Palermo");
}
@@ -89,7 +85,7 @@ void geoRadius() {
@Test
void geoDistance() {
- var distance = geoOperations.geoDist("Sicily", "Catania", "Palermo", DistanceUnit.KILOMETERS);
+ var distance = geoOperations.distance("Sicily", "Catania", "Palermo", DistanceUnit.KILOMETERS);
assertThat(distance.getValue()).isBetween(130d, 140d);
}
@@ -100,7 +96,7 @@ void geoDistance() {
@Test
void geoHash() {
- var geohashes = geoOperations.geoHash("Sicily", "Catania", "Palermo");
+ var geohashes = geoOperations.hash("Sicily", "Catania", "Palermo");
assertThat(geohashes).hasSize(2).contains("sqdtr74hyu0", "sq9sm1716e0");
}
diff --git a/redis/example/src/test/java/example/springdata/redis/commands/KeyOperationsTests.java b/redis/example/src/test/java/example/springdata/redis/commands/KeyOperationsTests.java
index 16ee33b3d..b87262f19 100644
--- a/redis/example/src/test/java/example/springdata/redis/commands/KeyOperationsTests.java
+++ b/redis/example/src/test/java/example/springdata/redis/commands/KeyOperationsTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2014-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -15,15 +15,12 @@
*/
package example.springdata.redis.commands;
-import example.springdata.redis.test.condition.EnabledOnRedisAvailable;
-
import java.util.UUID;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.redis.DataRedisTest;
+import org.springframework.boot.data.redis.test.autoconfigure.DataRedisTest;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.ScanOptions;
@@ -36,7 +33,6 @@
* @author Christoph Strobl
*/
@DataRedisTest
-@EnabledOnRedisAvailable
class KeyOperationsTests {
private static final String PREFIX = KeyOperationsTests.class.getSimpleName();
diff --git a/redis/pom.xml b/redis/pom.xml
index 27a797f69..ed6151573 100644
--- a/redis/pom.xml
+++ b/redis/pom.xml
@@ -8,7 +8,7 @@
org.springframework.data.examplesspring-data-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
@@ -18,6 +18,7 @@
clusterexample
+ pubsubreactiverepositoriessentinel
@@ -32,19 +33,25 @@
spring-boot-starter-data-redis
-
-
-
+
+ org.springframework.boot
+ spring-boot-data-redis-test
+ test
+
-
+
+ org.testcontainers
+ testcontainers-junit-jupiter
+ test
+
-
- com.github.kstyrc
- embedded-redis
- 0.6
-
-
+
+ com.redis
+ testcontainers-redis
+ 2.2.2
+ test
+
-
+
diff --git a/redis/pubsub/README.md b/redis/pubsub/README.md
new file mode 100644
index 000000000..5514d13d7
--- /dev/null
+++ b/redis/pubsub/README.md
@@ -0,0 +1,4 @@
+# Spring Data Redis Pub/Sub Example
+
+This project contains samples of specific features of Spring Data Redis.
+
diff --git a/redis/pubsub/pom.xml b/redis/pubsub/pom.xml
new file mode 100644
index 000000000..723572888
--- /dev/null
+++ b/redis/pubsub/pom.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+
+ spring-data-redis-pubsub
+ Spring Data Redis - Pub/Sub
+
+
+ org.springframework.data.examples
+ spring-data-redis-examples
+ 4.0.0-SNAPSHOT
+ ../pom.xml
+
+
+
diff --git a/redis/pubsub/src/test/java/example/springdata/redis/PubSubTests.java b/redis/pubsub/src/test/java/example/springdata/redis/PubSubTests.java
new file mode 100644
index 000000000..566465ad7
--- /dev/null
+++ b/redis/pubsub/src/test/java/example/springdata/redis/PubSubTests.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright 2023 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.redis;
+
+import static org.assertj.core.api.Assertions.*;
+
+import java.util.Collection;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingDeque;
+import java.util.concurrent.TimeUnit;
+
+import org.junit.jupiter.api.Test;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.data.redis.listener.ChannelTopic;
+import org.springframework.data.redis.listener.RedisMessageListenerContainer;
+import org.springframework.data.redis.listener.adapter.MessageListenerAdapter;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+/**
+ * Show usage of Redis Pub/Sub operations.
+ *
+ * @author Mark Paluch
+ */
+@SpringBootTest
+public class PubSubTests {
+
+ @Autowired RedisConnectionFactory connectionFactory;
+
+ @Autowired StringRedisTemplate redisTemplate;
+
+ @Test
+ void shouldListenToPubSubEvents() throws Exception {
+
+ BlockingQueue events = new LinkedBlockingDeque<>();
+
+ RedisMessageListenerContainer container = new RedisMessageListenerContainer();
+ container.setConnectionFactory(connectionFactory);
+ container.afterPropertiesSet();
+ container.addMessageListener(
+ (message, pattern) -> events.add(String.format("%s@%s", new String(message.getBody()), new String(pattern))),
+ ChannelTopic.of("my-channel"));
+
+ container.start();
+
+ redisTemplate.convertAndSend("my-channel", "Hello, world!");
+
+ String event = events.poll(5, TimeUnit.SECONDS);
+
+ container.stop();
+ container.destroy();
+
+ assertThat(event).isEqualTo("Hello, world!@my-channel");
+ }
+
+ @Test
+ void shouldNotifyListener() throws Exception {
+
+ BlockingQueue events = new LinkedBlockingDeque<>();
+
+ RedisMessageListenerContainer container = new RedisMessageListenerContainer();
+ container.setConnectionFactory(connectionFactory);
+ container.afterPropertiesSet();
+
+ MessageListenerAdapter messageListenerAdapter = new MessageListenerAdapter(new MyListener(events));
+ messageListenerAdapter.afterPropertiesSet();
+ messageListenerAdapter.setSerializer(StringRedisSerializer.UTF_8);
+ container.addMessageListener(messageListenerAdapter, ChannelTopic.of("my-channel"));
+
+ container.start();
+
+ redisTemplate.convertAndSend("my-channel", "Hello, world!");
+
+ String event = events.poll(5, TimeUnit.SECONDS);
+
+ container.stop();
+ container.destroy();
+
+ assertThat(event).isEqualTo("Hello, world!@my-channel");
+ }
+
+ static class MyListener {
+ private final Collection events;
+
+ public MyListener(Collection events) {
+ this.events = events;
+ }
+
+ public void handleMessage(String message, String channel) {
+ events.add(String.format("%s@%s", message, channel));
+ }
+ }
+}
diff --git a/redis/pubsub/src/test/java/example/springdata/redis/PubSubVirtualThreadsTests.java b/redis/pubsub/src/test/java/example/springdata/redis/PubSubVirtualThreadsTests.java
new file mode 100644
index 000000000..5782868c4
--- /dev/null
+++ b/redis/pubsub/src/test/java/example/springdata/redis/PubSubVirtualThreadsTests.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2023 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.redis;
+
+import static org.assertj.core.api.Assertions.*;
+
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingDeque;
+import java.util.concurrent.TimeUnit;
+
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.EnabledForJreRange;
+import org.junit.jupiter.api.condition.JRE;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.core.task.AsyncTaskExecutor;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.data.redis.listener.ChannelTopic;
+import org.springframework.data.redis.listener.RedisMessageListenerContainer;
+
+/**
+ * Show usage of Redis Pub/Sub operations using Virtual Threads.
+ *
+ * @author Mark Paluch
+ */
+@SpringBootTest(properties = "spring.threads.virtual.enabled=true")
+@EnabledForJreRange(min = JRE.JAVA_21)
+public class PubSubVirtualThreadsTests {
+
+ @Autowired RedisConnectionFactory connectionFactory;
+
+ @Autowired AsyncTaskExecutor taskExecutor;
+
+ @Autowired StringRedisTemplate redisTemplate;
+
+ @Test
+ void shouldListenToPubSubEvents() throws Exception {
+
+ BlockingQueue events = new LinkedBlockingDeque<>();
+
+ RedisMessageListenerContainer container = new RedisMessageListenerContainer();
+ container.setConnectionFactory(connectionFactory);
+ container.setTaskExecutor(taskExecutor);
+ container.afterPropertiesSet();
+ container.addMessageListener(
+ (message, pattern) -> events
+ .add(String.format("%s on Thread %s", new String(message.getBody()), Thread.currentThread())),
+ ChannelTopic.of("my-channel"));
+
+ container.start();
+
+ redisTemplate.convertAndSend("my-channel", "Hello, world!");
+
+ String event = events.poll(5, TimeUnit.SECONDS);
+
+ container.stop();
+ container.destroy();
+
+ assertThat(event).isNotNull().contains("Hello, world!").contains("VirtualThread");
+ }
+}
diff --git a/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/ExpirationEvictionServer.java b/redis/pubsub/src/test/java/example/springdata/redis/RedisTestConfiguration.java
old mode 100755
new mode 100644
similarity index 53%
rename from geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/ExpirationEvictionServer.java
rename to redis/pubsub/src/test/java/example/springdata/redis/RedisTestConfiguration.java
index 5b2b07ec7..1c38139ce
--- a/geode/expiration-eviction/src/main/java/example/springdata/geode/server/expiration/eviction/ExpirationEvictionServer.java
+++ b/redis/pubsub/src/test/java/example/springdata/redis/RedisTestConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2014-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,19 +13,24 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.geode.server.expiration.eviction;
+package example.springdata.redis;
-import org.springframework.boot.WebApplicationType;
+import com.redis.testcontainers.RedisContainer;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
+import org.springframework.context.annotation.Bean;
+import org.testcontainers.utility.DockerImageName;
/**
- * @author Patrick Johnson
+ * @author Mark Paluch
+ * @author Christoph Strobl
*/
@SpringBootApplication
-public class ExpirationEvictionServer {
+public class RedisTestConfiguration {
- public static void main(String[] args) {
- new SpringApplicationBuilder(ExpirationEvictionServer.class).web(WebApplicationType.NONE).build().run(args);
- }
+ @Bean
+ @ServiceConnection(name = "redis")
+ RedisContainer redisContainer() {
+ return new RedisContainer(DockerImageName.parse("redis:7"));
+ }
}
diff --git a/redis/pubsub/src/test/resources/application.properties b/redis/pubsub/src/test/resources/application.properties
new file mode 100644
index 000000000..bac6605ce
--- /dev/null
+++ b/redis/pubsub/src/test/resources/application.properties
@@ -0,0 +1 @@
+logging.level.root=WARN
diff --git a/redis/reactive/pom.xml b/redis/reactive/pom.xml
index b730243d4..aa74e3ea8 100644
--- a/redis/reactive/pom.xml
+++ b/redis/reactive/pom.xml
@@ -8,7 +8,7 @@
org.springframework.data.examplesspring-data-redis-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
@@ -30,7 +30,7 @@
- com.fasterxml.jackson.core
+ tools.jackson.corejackson-databind
@@ -40,13 +40,6 @@
test
-
- ${project.groupId}
- spring-data-redis-example-utils
- ${project.version}
- test
-
-
diff --git a/redis/reactive/src/test/java/example/springdata/redis/RedisTestConfiguration.java b/redis/reactive/src/test/java/example/springdata/redis/RedisTestConfiguration.java
index 911944de9..a3dfd54bd 100644
--- a/redis/reactive/src/test/java/example/springdata/redis/RedisTestConfiguration.java
+++ b/redis/reactive/src/test/java/example/springdata/redis/RedisTestConfiguration.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2016-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -15,43 +15,42 @@
*/
package example.springdata.redis;
-import javax.annotation.PreDestroy;
-
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory;
-import org.springframework.data.redis.connection.RedisConnectionFactory;
-import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.ReactiveRedisTemplate;
-import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
-import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.GenericJacksonJsonRedisSerializer;
+import org.springframework.data.redis.serializer.JacksonJsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializationContext;
import org.springframework.data.redis.serializer.RedisSerializationContext.RedisSerializationContextBuilder;
import org.springframework.data.redis.serializer.StringRedisSerializer;
+import org.testcontainers.utility.DockerImageName;
+
+import com.redis.testcontainers.RedisContainer;
+
/**
* @author Mark Paluch
+ * @author Christoph Strobl
*/
@SpringBootApplication
public class RedisTestConfiguration {
- @Autowired RedisConnectionFactory factory;
-
@Bean
- public LettuceConnectionFactory redisConnectionFactory() {
- return new LettuceConnectionFactory();
+ @ServiceConnection(name = "redis")
+ RedisContainer redisContainer() {
+ return new RedisContainer(DockerImageName.parse("redis:7"));
}
/**
- * Configures a {@link ReactiveRedisTemplate} with {@link String} keys and a typed
- * {@link Jackson2JsonRedisSerializer}.
+ * Configures a {@link ReactiveRedisTemplate} with {@link String} keys and a typed {@link JacksonJsonRedisSerializer}.
*/
@Bean
public ReactiveRedisTemplate reactiveJsonPersonRedisTemplate(
ReactiveRedisConnectionFactory connectionFactory) {
- var serializer = new Jackson2JsonRedisSerializer(Person.class);
+ var serializer = new JacksonJsonRedisSerializer<>(Person.class);
RedisSerializationContextBuilder builder = RedisSerializationContext
.newSerializationContext(new StringRedisSerializer());
@@ -61,7 +60,7 @@ public ReactiveRedisTemplate reactiveJsonPersonRedisTemplate(
}
/**
- * Configures a {@link ReactiveRedisTemplate} with {@link String} keys and {@link GenericJackson2JsonRedisSerializer}.
+ * Configures a {@link ReactiveRedisTemplate} with {@link String} keys and {@link JacksonJsonRedisSerializer}.
*/
@Bean
public ReactiveRedisTemplate reactiveJsonObjectRedisTemplate(
@@ -71,15 +70,11 @@ public ReactiveRedisTemplate reactiveJsonObjectRedisTemplate(
.newSerializationContext(new StringRedisSerializer());
var serializationContext = builder
- .value(new GenericJackson2JsonRedisSerializer("_type")).build();
+ .value(
+ GenericJacksonJsonRedisSerializer.builder().typePropertyName("_type").enableUnsafeDefaultTyping().build())
+ .build();
return new ReactiveRedisTemplate<>(connectionFactory, serializationContext);
}
- /**
- * Clear database before shut down.
- */
- public @PreDestroy void flushTestDb() {
- factory.getConnection().flushDb();
- }
}
diff --git a/redis/reactive/src/test/java/example/springdata/redis/commands/KeyCommandsTests.java b/redis/reactive/src/test/java/example/springdata/redis/commands/KeyCommandsTests.java
index 1ff35d61f..67c710be3 100644
--- a/redis/reactive/src/test/java/example/springdata/redis/commands/KeyCommandsTests.java
+++ b/redis/reactive/src/test/java/example/springdata/redis/commands/KeyCommandsTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2016-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -16,8 +16,8 @@
package example.springdata.redis.commands;
import example.springdata.redis.RedisTestConfiguration;
-import example.springdata.redis.test.condition.EnabledOnRedisAvailable;
import reactor.core.publisher.Flux;
+import reactor.core.scheduler.Schedulers;
import reactor.test.StepVerifier;
import java.nio.ByteBuffer;
@@ -42,9 +42,9 @@
* {@link ReactiveRedisConnectionFactory}.
*
* @author Mark Paluch
+ * @author Arooba Shahoor
*/
@SpringBootTest(classes = RedisTestConfiguration.class)
-@EnabledOnRedisAvailable
class KeyCommandsTests {
private static final String PREFIX = KeyCommandsTests.class.getSimpleName();
@@ -75,9 +75,9 @@ void iterateOverKeysMatchingPrefixUsingKeysCommand() {
.flatMapMany(Flux::fromIterable) //
.doOnNext(byteBuffer -> System.out.println(toString(byteBuffer))) //
.count() //
- .doOnSuccess(count -> System.out.println(String.format("Total No. found: %s", count)));
+ .doOnSuccess(count -> System.out.printf("Total No. found: %s%n", count));
- StepVerifier.create(keyCount).expectNext(50L).verifyComplete();
+ keyCount.as(StepVerifier::create).expectNext(50L).verifyComplete();
}
/**
@@ -86,8 +86,8 @@ void iterateOverKeysMatchingPrefixUsingKeysCommand() {
@Test
void storeToListAndPop() {
- var popResult = connection.listCommands()
- .brPop(Collections.singletonList(ByteBuffer.wrap("list".getBytes())), Duration.ofSeconds(5));
+ var popResult = connection.listCommands().brPop(Collections.singletonList(ByteBuffer.wrap("list".getBytes())),
+ Duration.ofSeconds(5));
var llen = connection.listCommands().lLen(ByteBuffer.wrap("list".getBytes()));
@@ -96,20 +96,21 @@ void storeToListAndPop() {
.flatMap(l -> popResult) //
.doOnNext(result -> System.out.println(toString(result.getValue()))) //
.flatMap(result -> llen) //
- .doOnNext(count -> System.out.println(String.format("Total items in list left: %s", count)));//
+ .doOnNext(count -> System.out.printf("Total items in list left: %s%n", count));//
- StepVerifier.create(popAndLlen).expectNext(0L).verifyComplete();
+ popAndLlen.as(StepVerifier::create).expectNext(0L).verifyComplete();
}
private void generateRandomKeys(int nrKeys) {
- var keyFlux = Flux.range(0, nrKeys).map(i -> (PREFIX + "-" + i));
-
- var generator = keyFlux.map(String::getBytes).map(ByteBuffer::wrap) //
- .map(key -> SetCommand.set(key) //
+ var keyFlux = Flux.range(0, nrKeys).map(i -> (PREFIX + "-" + i)) //
+ .publishOn(Schedulers.single()) //
+ .map(it -> SetCommand.set(ByteBuffer.wrap(it.getBytes())) //
.value(ByteBuffer.wrap(UUID.randomUUID().toString().getBytes())));
- StepVerifier.create(connection.stringCommands().set(generator)).expectNextCount(nrKeys).verifyComplete();
+ connection.stringCommands().set(keyFlux).as(StepVerifier::create) //
+ .expectNextCount(nrKeys) //
+ .verifyComplete();
}
diff --git a/redis/reactive/src/test/java/example/springdata/redis/operations/JacksonJsonTests.java b/redis/reactive/src/test/java/example/springdata/redis/operations/JacksonJsonTests.java
index c361dc955..dcafa5826 100644
--- a/redis/reactive/src/test/java/example/springdata/redis/operations/JacksonJsonTests.java
+++ b/redis/reactive/src/test/java/example/springdata/redis/operations/JacksonJsonTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2017-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -18,7 +18,6 @@
import example.springdata.redis.EmailAddress;
import example.springdata.redis.Person;
import example.springdata.redis.RedisTestConfiguration;
-import example.springdata.redis.test.condition.EnabledOnRedisAvailable;
import lombok.extern.slf4j.Slf4j;
import reactor.test.StepVerifier;
@@ -39,7 +38,6 @@
*/
@Slf4j
@SpringBootTest(classes = RedisTestConfiguration.class)
-@EnabledOnRedisAvailable
class JacksonJsonTests {
@Autowired ReactiveRedisOperations typedOperations;
@@ -48,15 +46,14 @@ class JacksonJsonTests {
/**
* {@link ReactiveRedisOperations} using {@link String} keys and {@link Person} values serialized via
- * {@link org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer} to JSON without additional type
- * hints.
+ * {@link org.springframework.data.redis.serializer.JacksonJsonRedisSerializer} to JSON without additional type hints.
*
* @see RedisTestConfiguration#reactiveJsonPersonRedisTemplate(ReactiveRedisConnectionFactory)
*/
@Test
void shouldWriteAndReadPerson() {
- StepVerifier.create(typedOperations.opsForValue().set("homer", new Person("Homer", "Simpson"))) //
+ typedOperations.opsForValue().set("homer", new Person("Homer", "Simpson")).as(StepVerifier::create) //
.expectNext(true) //
.verifyComplete();
@@ -75,8 +72,8 @@ void shouldWriteAndReadPerson() {
/**
* {@link ReactiveRedisOperations} using {@link String} keys and {@link Object} values serialized via
- * {@link org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer} to JSON with additional type
- * hints. This example uses the non-final type {@link Person} using its FQCN as type identifier.
+ * {@link org.springframework.data.redis.serializer.JacksonJsonRedisSerializer} to JSON with additional type hints.
+ * This example uses the non-final type {@link Person} using its FQCN as type identifier.
*
* @see RedisTestConfiguration#reactiveJsonObjectRedisTemplate(ReactiveRedisConnectionFactory)
*/
@@ -103,8 +100,8 @@ void shouldWriteAndReadPersonObject() {
/**
* {@link ReactiveRedisOperations} using {@link String} keys and {@link Object} values serialized via
- * {@link org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer} to JSON with additional type
- * hints. This example uses the final type {@link example.springdata.redis.EmailAddress} using configuration from
+ * {@link org.springframework.data.redis.serializer.JacksonJsonRedisSerializer} to JSON with additional type hints.
+ * This example uses the final type {@link example.springdata.redis.EmailAddress} using configuration from
* {@link com.fasterxml.jackson.annotation.JsonTypeInfo} as type identifier.
*
* @see RedisTestConfiguration#reactiveJsonObjectRedisTemplate(ReactiveRedisConnectionFactory)
diff --git a/redis/reactive/src/test/java/example/springdata/redis/operations/ListOperationsTests.java b/redis/reactive/src/test/java/example/springdata/redis/operations/ListOperationsTests.java
index 553d7534a..46457dc11 100644
--- a/redis/reactive/src/test/java/example/springdata/redis/operations/ListOperationsTests.java
+++ b/redis/reactive/src/test/java/example/springdata/redis/operations/ListOperationsTests.java
@@ -16,7 +16,6 @@
package example.springdata.redis.operations;
import example.springdata.redis.RedisTestConfiguration;
-import example.springdata.redis.test.condition.EnabledOnRedisAvailable;
import lombok.extern.slf4j.Slf4j;
import reactor.core.publisher.Mono;
import reactor.test.StepVerifier;
@@ -38,14 +37,16 @@
*/
@Slf4j
@SpringBootTest(classes = RedisTestConfiguration.class)
-@EnabledOnRedisAvailable
class ListOperationsTests {
@Autowired ReactiveRedisOperations operations;
@BeforeEach
void before() {
- StepVerifier.create(operations.execute(it -> it.serverCommands().flushDb())).expectNext("OK").verifyComplete();
+
+ operations.execute(it -> it.serverCommands().flushDb()).as(StepVerifier::create) //
+ .expectNext("OK") //
+ .verifyComplete();
}
/**
@@ -63,7 +64,7 @@ void shouldPollAndPopulateQueue() {
.log("example.springdata.redis", Level.INFO);
log.info("Blocking pop...waiting for message");
- StepVerifier.create(blpop) //
+ blpop.as(StepVerifier::create) //
.then(() -> {
Mono.delay(Duration.ofSeconds(10)).doOnSuccess(it -> {
diff --git a/redis/reactive/src/test/java/example/springdata/redis/operations/ValueOperationsTests.java b/redis/reactive/src/test/java/example/springdata/redis/operations/ValueOperationsTests.java
index d036285e2..f27cdb823 100644
--- a/redis/reactive/src/test/java/example/springdata/redis/operations/ValueOperationsTests.java
+++ b/redis/reactive/src/test/java/example/springdata/redis/operations/ValueOperationsTests.java
@@ -18,7 +18,6 @@
import static org.assertj.core.api.Assertions.*;
import example.springdata.redis.RedisTestConfiguration;
-import example.springdata.redis.test.condition.EnabledOnRedisAvailable;
import lombok.extern.slf4j.Slf4j;
import reactor.core.publisher.Mono;
import reactor.test.StepVerifier;
@@ -39,14 +38,16 @@
*/
@Slf4j
@SpringBootTest(classes = RedisTestConfiguration.class)
-@EnabledOnRedisAvailable
class ValueOperationsTests {
@Autowired ReactiveRedisOperations operations;
@BeforeEach
void before() {
- StepVerifier.create(operations.execute(it -> it.serverCommands().flushDb())).expectNext("OK").verifyComplete();
+
+ operations.execute(it -> it.serverCommands().flushDb()).as(StepVerifier::create) //
+ .expectNext("OK") //
+ .verifyComplete();
}
/**
@@ -67,14 +68,14 @@ void shouldCacheValue() {
log.info("Initial access (takes a while...)");
- StepVerifier.create(cachedMono).expectSubscription() //
+ cachedMono.as(StepVerifier::create).expectSubscription() //
.expectNoEvent(Duration.ofSeconds(9)) //
.expectNext("Hello, World!") //
.verifyComplete();
log.info("Subsequent access (use cached value)");
- var duration = StepVerifier.create(cachedMono) //
+ var duration = cachedMono.as(StepVerifier::create) //
.expectNext("Hello, World!") //
.verifyComplete();
diff --git a/redis/repositories/README.md b/redis/repositories/README.md
index 23ed11098..38fb92d9b 100644
--- a/redis/repositories/README.md
+++ b/redis/repositories/README.md
@@ -2,7 +2,7 @@
This project contains examples for Spring Data specific repository abstraction on top of Redis.
-## Repository Suport ##
+## Repository Support ##
Redis Repository support allows to convert, store, retrieve and index entities within Redis native data structures. To do, besides the `HASH` containing the actual properties several [Secondary Index](http://redis.io/topics/indexes) structures are set up and maintained.
diff --git a/redis/repositories/pom.xml b/redis/repositories/pom.xml
index fd8a5e133..a380b5307 100644
--- a/redis/repositories/pom.xml
+++ b/redis/repositories/pom.xml
@@ -8,25 +8,8 @@
org.springframework.data.examplesspring-data-redis-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
-
-
-
- ${project.groupId}
- spring-data-redis-example-utils
- ${project.version}
- test
-
-
-
- com.github.kstyrc
- embedded-redis
- test
-
-
-
-
diff --git a/redis/repositories/src/main/java/example/springdata/redis/repositories/Person.java b/redis/repositories/src/main/java/example/springdata/redis/repositories/Person.java
index 41f06f2e9..9fff37308 100644
--- a/redis/repositories/src/main/java/example/springdata/redis/repositories/Person.java
+++ b/redis/repositories/src/main/java/example/springdata/redis/repositories/Person.java
@@ -90,7 +90,7 @@ class Person {
private Gender gender;
/**
- * Since {@link Indexed} is used on {@link Address#getCity()} index structures for {@code persons:address:city} are be
+ * Since {@link Indexed} is used on {@link Address#getCity()}, index structures for {@code persons:address:city} are
* maintained.
*/
private Address address;
diff --git a/redis/repositories/src/test/java/example/springdata/redis/repositories/PersonRepositoryTests.java b/redis/repositories/src/test/java/example/springdata/redis/repositories/PersonRepositoryTests.java
index d169460e7..ce3df5f30 100644
--- a/redis/repositories/src/test/java/example/springdata/redis/repositories/PersonRepositoryTests.java
+++ b/redis/repositories/src/test/java/example/springdata/redis/repositories/PersonRepositoryTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2016-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -17,8 +17,6 @@
import static org.assertj.core.api.Assertions.*;
-import example.springdata.redis.test.condition.EnabledOnRedisAvailable;
-
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
@@ -28,7 +26,8 @@
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.redis.DataRedisTest;
+import org.springframework.boot.data.redis.test.autoconfigure.DataRedisTest;
+import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
@@ -41,15 +40,25 @@
import org.springframework.data.redis.core.index.GeoIndexed;
import org.springframework.data.redis.core.index.Indexed;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.utility.DockerImageName;
+
+import com.redis.testcontainers.RedisContainer;
+
/**
* @author Christoph Strobl
* @author Oliver Gierke
* @author Mark Paluch
*/
+@Testcontainers
@DataRedisTest
-@EnabledOnRedisAvailable
class PersonRepositoryTests {
+ @Container
+ @ServiceConnection
+ static RedisContainer redis = new RedisContainer(DockerImageName.parse("redis:7"));
+
/** {@link Charset} for String conversion **/
private static final Charset CHARSET = StandardCharsets.UTF_8;
diff --git a/redis/sentinel/pom.xml b/redis/sentinel/pom.xml
index 34e953b1a..f8a32317c 100644
--- a/redis/sentinel/pom.xml
+++ b/redis/sentinel/pom.xml
@@ -8,7 +8,7 @@
org.springframework.data.examplesspring-data-redis-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
diff --git a/redis/sentinel/src/main/java/example/springdata/redis/sentinel/RedisSentinelApplication.java b/redis/sentinel/src/main/java/example/springdata/redis/sentinel/RedisSentinelApplication.java
index b4dea45a8..9ced8cc37 100644
--- a/redis/sentinel/src/main/java/example/springdata/redis/sentinel/RedisSentinelApplication.java
+++ b/redis/sentinel/src/main/java/example/springdata/redis/sentinel/RedisSentinelApplication.java
@@ -15,7 +15,7 @@
*/
package example.springdata.redis.sentinel;
-import javax.annotation.PreDestroy;
+import jakarta.annotation.PreDestroy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
diff --git a/redis/streams/pom.xml b/redis/streams/pom.xml
index 73d473363..10fab1515 100644
--- a/redis/streams/pom.xml
+++ b/redis/streams/pom.xml
@@ -9,7 +9,7 @@
org.springframework.data.examplesspring-data-redis-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
@@ -21,13 +21,6 @@
test
-
- ${project.groupId}
- spring-data-redis-example-utils
- ${project.version}
- test
-
-
diff --git a/redis/streams/src/test/java/example/springdata/redis/reactive/ReactiveRedisTestConfiguration.java b/redis/streams/src/test/java/example/springdata/redis/reactive/ReactiveRedisTestConfiguration.java
index 3484e0dcc..66198838a 100644
--- a/redis/streams/src/test/java/example/springdata/redis/reactive/ReactiveRedisTestConfiguration.java
+++ b/redis/streams/src/test/java/example/springdata/redis/reactive/ReactiveRedisTestConfiguration.java
@@ -15,7 +15,7 @@
*/
package example.springdata.redis.reactive;
-import javax.annotation.PreDestroy;
+import jakarta.annotation.PreDestroy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.SpringBootApplication;
diff --git a/redis/streams/src/test/java/example/springdata/redis/reactive/ReactiveStreamApiTests.java b/redis/streams/src/test/java/example/springdata/redis/reactive/ReactiveStreamApiTests.java
index e2d749208..073d2dca4 100644
--- a/redis/streams/src/test/java/example/springdata/redis/reactive/ReactiveStreamApiTests.java
+++ b/redis/streams/src/test/java/example/springdata/redis/reactive/ReactiveStreamApiTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2019-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,7 +19,6 @@
import static org.springframework.data.redis.connection.stream.StreamOffset.*;
import example.springdata.redis.SensorData;
-import example.springdata.redis.test.condition.EnabledOnCommand;
import reactor.test.StepVerifier;
import java.time.Duration;
@@ -29,8 +28,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
-import org.springframework.boot.autoconfigure.data.redis.RedisReactiveAutoConfiguration;
-import org.springframework.boot.test.autoconfigure.data.redis.DataRedisTest;
+import org.springframework.boot.data.redis.autoconfigure.DataRedisReactiveAutoConfiguration;
+import org.springframework.boot.data.redis.test.autoconfigure.DataRedisTest;
+import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
import org.springframework.data.redis.RedisSystemException;
import org.springframework.data.redis.connection.stream.MapRecord;
import org.springframework.data.redis.connection.stream.ReadOffset;
@@ -40,14 +40,24 @@
import org.springframework.data.redis.core.ReactiveStringRedisTemplate;
import org.springframework.data.redis.stream.StreamReceiver;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.utility.DockerImageName;
+
+import com.redis.testcontainers.RedisContainer;
+
/**
* @author Christoph Strobl
*/
+@Testcontainers
@DataRedisTest
-@EnabledOnCommand("XADD")
-@ImportAutoConfiguration(RedisReactiveAutoConfiguration.class)
+@ImportAutoConfiguration(DataRedisReactiveAutoConfiguration.class)
class ReactiveStreamApiTests {
+ @Container
+ @ServiceConnection
+ static RedisContainer redis = new RedisContainer(DockerImageName.parse("redis:7"));
+
@Autowired ReactiveStringRedisTemplate template;
@Autowired StreamReceiver> streamReceiver;
@@ -82,7 +92,7 @@ void basics() {
.as(StepVerifier::create)
.expectNext(2L).verifyComplete();
- // XADD errors when timestamp is less then last inserted
+ // XADD errors when timestamp is less than the last inserted
streamOps.add(SensorData.create("1234", "19.8", "invalid").withId(RecordId.of("0-0")))
.as(StepVerifier::create)
.verifyError(RedisSystemException.class);
diff --git a/redis/streams/src/test/java/example/springdata/redis/sync/RedisTestConfiguration.java b/redis/streams/src/test/java/example/springdata/redis/sync/RedisTestConfiguration.java
index 71ab260ea..a3839ecf9 100644
--- a/redis/streams/src/test/java/example/springdata/redis/sync/RedisTestConfiguration.java
+++ b/redis/streams/src/test/java/example/springdata/redis/sync/RedisTestConfiguration.java
@@ -15,7 +15,7 @@
*/
package example.springdata.redis.sync;
-import javax.annotation.PreDestroy;
+import jakarta.annotation.PreDestroy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.SpringBootApplication;
diff --git a/redis/streams/src/test/java/example/springdata/redis/sync/SyncStreamApiTests.java b/redis/streams/src/test/java/example/springdata/redis/sync/SyncStreamApiTests.java
index e09aa66d3..8a1d5b731 100644
--- a/redis/streams/src/test/java/example/springdata/redis/sync/SyncStreamApiTests.java
+++ b/redis/streams/src/test/java/example/springdata/redis/sync/SyncStreamApiTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2019-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -19,7 +19,6 @@
import static org.springframework.data.redis.connection.stream.StreamOffset.*;
import example.springdata.redis.SensorData;
-import example.springdata.redis.test.condition.EnabledOnCommand;
import java.util.concurrent.TimeUnit;
@@ -27,7 +26,8 @@
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.data.redis.DataRedisTest;
+import org.springframework.boot.data.redis.test.autoconfigure.DataRedisTest;
+import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
import org.springframework.data.redis.RedisSystemException;
import org.springframework.data.redis.connection.stream.MapRecord;
import org.springframework.data.redis.connection.stream.ReadOffset;
@@ -37,14 +37,24 @@
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.stream.StreamMessageListenerContainer;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.utility.DockerImageName;
+
+import com.redis.testcontainers.RedisContainer;
+
/**
* @author Christoph Strobl
* @author Mark Paluch
*/
+@Testcontainers
@DataRedisTest
-@EnabledOnCommand("XADD")
class SyncStreamApiTests {
+ @Container
+ @ServiceConnection
+ static RedisContainer redis = new RedisContainer(DockerImageName.parse("redis:7"));
+
@Autowired StringRedisTemplate template;
@Autowired StreamMessageListenerContainer> messageListenerContainer;
@@ -72,10 +82,10 @@ void basics() {
// XLEN
assertThat(streamOps.size(SensorData.KEY)).isEqualTo(2L);
- // XADD errors when timestamp is less then last inserted
+ // XADD errors when timestamp is less than the last inserted
assertThatExceptionOfType(RedisSystemException.class).isThrownBy(() -> {
streamOps.add(SensorData.create("1234", "19.8", "invalid").withId(RecordId.of("0-0")));
- }).withMessageContaining("ID specified");
+ });
// XADD with autogenerated id
var autogeneratedId = streamOps.add(SensorData.create("1234", "19.8", null));
diff --git a/redis/util/pom.xml b/redis/util/pom.xml
index 09db062aa..7559c5f33 100644
--- a/redis/util/pom.xml
+++ b/redis/util/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data.examplesspring-data-redis-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT../pom.xml
@@ -25,12 +25,6 @@
lettuce-core
-
- com.github.kstyrc
- embedded-redis
- true
-
-
diff --git a/redis/util/src/main/java/example/springdata/redis/test/condition/EnabledOnCommand.java b/redis/util/src/main/java/example/springdata/redis/test/condition/EnabledOnCommand.java
index 323030bd0..16e5cb5f0 100644
--- a/redis/util/src/main/java/example/springdata/redis/test/condition/EnabledOnCommand.java
+++ b/redis/util/src/main/java/example/springdata/redis/test/condition/EnabledOnCommand.java
@@ -36,7 +36,8 @@
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
-@ExtendWith(EnabledOnCommandCondition.class)
+@EnabledOnRedisAvailable
+@ExtendWith({EnabledOnRedisAvailableCondition.class})
public @interface EnabledOnCommand {
String host() default "localhost";
diff --git a/redis/util/src/main/java/example/springdata/redis/test/condition/EnabledOnCommandCondition.java b/redis/util/src/main/java/example/springdata/redis/test/condition/EnabledOnCommandCondition.java
index b59305812..cd4dcf609 100644
--- a/redis/util/src/main/java/example/springdata/redis/test/condition/EnabledOnCommandCondition.java
+++ b/redis/util/src/main/java/example/springdata/redis/test/condition/EnabledOnCommandCondition.java
@@ -36,12 +36,18 @@
*/
class EnabledOnCommandCondition implements ExecutionCondition {
+ EnabledOnRedisAvailableCondition redisAvailable = new EnabledOnRedisAvailableCondition();
+
private static final ConditionEvaluationResult ENABLED_BY_DEFAULT = enabled("@EnabledOnCommand is not present");
private static final ExtensionContext.Namespace NAMESPACE = ExtensionContext.Namespace.create(RedisConditions.class);
@Override
public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext context) {
+ if(redisAvailable.evaluateExecutionCondition(context).isDisabled()) {
+ return disabled("Redis not available");
+ }
+
var optional = AnnotationUtils.findAnnotation(context.getElement(), EnabledOnCommand.class);
if (!optional.isPresent()) {
diff --git a/rest/headers/pom.xml b/rest/headers/pom.xml
index 5e7a90e95..03e3d2e21 100644
--- a/rest/headers/pom.xml
+++ b/rest/headers/pom.xml
@@ -2,16 +2,15 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0%20https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- spring-data-rest-headers
-
- Spring Data REST - Headers Example
-
org.springframework.data.examplesspring-data-rest-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
+ spring-data-rest-headers
+ Spring Data REST - Headers Example
+
@@ -31,11 +30,10 @@
org.springframework.restdocs
- spring-restdocs
- 1.0.0.M1
+ spring-restdocs-mockmvctest
-
\ No newline at end of file
+
diff --git a/rest/headers/src/main/java/example/springdata/rest/headers/Address.java b/rest/headers/src/main/java/example/springdata/rest/headers/Address.java
index 27e1fb438..139e2847a 100644
--- a/rest/headers/src/main/java/example/springdata/rest/headers/Address.java
+++ b/rest/headers/src/main/java/example/springdata/rest/headers/Address.java
@@ -18,9 +18,9 @@
import lombok.Data;
import lombok.RequiredArgsConstructor;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
/**
* @author Oliver Gierke
diff --git a/rest/headers/src/main/java/example/springdata/rest/headers/Application.java b/rest/headers/src/main/java/example/springdata/rest/headers/Application.java
index 9f8bc929e..c0b38d450 100644
--- a/rest/headers/src/main/java/example/springdata/rest/headers/Application.java
+++ b/rest/headers/src/main/java/example/springdata/rest/headers/Application.java
@@ -17,7 +17,7 @@
import example.springdata.rest.headers.Customer.Gender;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
diff --git a/rest/headers/src/main/java/example/springdata/rest/headers/Customer.java b/rest/headers/src/main/java/example/springdata/rest/headers/Customer.java
index 5fa063ffc..df0b9b393 100644
--- a/rest/headers/src/main/java/example/springdata/rest/headers/Customer.java
+++ b/rest/headers/src/main/java/example/springdata/rest/headers/Customer.java
@@ -20,13 +20,13 @@
import java.time.LocalDateTime;
-import javax.persistence.CascadeType;
-import javax.persistence.Entity;
-import javax.persistence.EntityListeners;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.OneToOne;
-import javax.persistence.Version;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Entity;
+import jakarta.persistence.EntityListeners;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.OneToOne;
+import jakarta.persistence.Version;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
diff --git a/rest/headers/src/test/java/example/springdata/rest/headers/WebIntegrationTests.java b/rest/headers/src/test/java/example/springdata/rest/headers/WebIntegrationTests.java
index b2c88fbe9..967c7e943 100644
--- a/rest/headers/src/test/java/example/springdata/rest/headers/WebIntegrationTests.java
+++ b/rest/headers/src/test/java/example/springdata/rest/headers/WebIntegrationTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2015-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -17,16 +17,19 @@
import static org.hamcrest.CoreMatchers.*;
import static org.springframework.http.HttpHeaders.*;
-import static org.springframework.restdocs.RestDocumentation.*;
+import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.restdocs.config.RestDocumentationConfigurer;
+import org.springframework.restdocs.RestDocumentationContextProvider;
+import org.springframework.restdocs.RestDocumentationExtension;
+import org.springframework.restdocs.mockmvc.MockMvcRestDocumentation;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
@@ -37,7 +40,8 @@
* @soundtrack The Intersphere - Out of phase (Live at Alte Feuerwache Mannheim)
*/
@SpringBootTest
-public class WebIntegrationTests {
+@ExtendWith(RestDocumentationExtension.class)
+class WebIntegrationTests {
@Autowired WebApplicationContext context;
@Autowired CustomerRepository customers;
@@ -45,15 +49,15 @@ public class WebIntegrationTests {
private MockMvc mvc;
@BeforeEach
- public void setUp() {
+ void setUp(RestDocumentationContextProvider restDocumentation) {
this.mvc = MockMvcBuilders.webAppContextSetup(context).//
- apply(new RestDocumentationConfigurer()).//
+ apply(MockMvcRestDocumentation.documentationConfiguration(restDocumentation)).//
build();
}
@Test
- public void executeConditionalGetRequests() throws Exception {
+ void executeConditionalGetRequests() throws Exception {
var customer = customers.findAll().iterator().next();
var uri = new UriTemplate("/customers/{id}").expand(customer.getId());
diff --git a/rest/multi-store/pom.xml b/rest/multi-store/pom.xml
index 85f1dbc69..7a34e291c 100644
--- a/rest/multi-store/pom.xml
+++ b/rest/multi-store/pom.xml
@@ -3,17 +3,17 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0%20https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- spring-data-rest-multi-store
-
- Spring Data REST - Multi-store example
- Spring Data REST example mixing Spring Data JPA and Spring Data MongoDB
-
org.springframework.data.examplesspring-data-rest-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
+ spring-data-rest-multi-store
+ Spring Data REST - Multi-store example
+ Spring Data REST example mixing Spring Data JPA and Spring Data MongoDB
+
+
@@ -33,10 +33,12 @@
spring-boot-starter-data-mongodb
+
+
- de.flapdoodle.embed
- de.flapdoodle.embed.mongo
- runtime
+ org.testcontainers
+ testcontainers-mongodb
+ test
diff --git a/rest/multi-store/src/main/java/example/springdata/multistore/person/Person.java b/rest/multi-store/src/main/java/example/springdata/multistore/person/Person.java
index 7dc54fb5c..8444158fa 100644
--- a/rest/multi-store/src/main/java/example/springdata/multistore/person/Person.java
+++ b/rest/multi-store/src/main/java/example/springdata/multistore/person/Person.java
@@ -18,9 +18,9 @@
import lombok.Data;
import lombok.RequiredArgsConstructor;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
/**
* A person.
diff --git a/rest/multi-store/src/test/java/example/springdata/multistore/ApplicationIntegrationTests.java b/rest/multi-store/src/test/java/example/springdata/multistore/ApplicationIntegrationTests.java
index 2c3e442e6..04a08941c 100644
--- a/rest/multi-store/src/test/java/example/springdata/multistore/ApplicationIntegrationTests.java
+++ b/rest/multi-store/src/test/java/example/springdata/multistore/ApplicationIntegrationTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2015-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -24,6 +24,11 @@
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.context.TestConfiguration;
+import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
+import org.springframework.context.annotation.Bean;
+import org.testcontainers.mongodb.MongoDBContainer;
+import org.testcontainers.utility.DockerImageName;
/**
* Integration test to show the usage of repositories backed by different stores.
@@ -37,6 +42,16 @@ public class ApplicationIntegrationTests {
@Autowired PersonRepository personRepository;
@Autowired TreasureRepository treasureRepository;
+ @TestConfiguration
+ static class Infrastructure {
+
+ @Bean
+ @ServiceConnection
+ MongoDBContainer mongoDBContainer() {
+ return new MongoDBContainer(DockerImageName.parse("mongodb/mongodb-community-server"));
+ }
+ }
+
@Test
public void useMultipleRepositories() {
diff --git a/rest/pom.xml b/rest/pom.xml
index d8aeaedf2..aef0dcd5b 100644
--- a/rest/pom.xml
+++ b/rest/pom.xml
@@ -8,7 +8,7 @@
org.springframework.data.examplesspring-data-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTSpring Data REST - Examples
diff --git a/rest/projections/pom.xml b/rest/projections/pom.xml
index 876e47721..32d4c2404 100644
--- a/rest/projections/pom.xml
+++ b/rest/projections/pom.xml
@@ -2,16 +2,15 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0%20https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- spring-data-rest-projections
-
- Spring Data REST - Projections Example
-
org.springframework.data.examplesspring-data-rest-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
+ spring-data-rest-projections
+ Spring Data REST - Projections Example
+
@@ -26,4 +25,4 @@
-
\ No newline at end of file
+
diff --git a/rest/projections/src/main/java/example/springdata/rest/projections/Address.java b/rest/projections/src/main/java/example/springdata/rest/projections/Address.java
index da6ad08e3..d2106927c 100644
--- a/rest/projections/src/main/java/example/springdata/rest/projections/Address.java
+++ b/rest/projections/src/main/java/example/springdata/rest/projections/Address.java
@@ -18,9 +18,9 @@
import lombok.Data;
import lombok.RequiredArgsConstructor;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
/**
* @author Oliver Gierke
diff --git a/rest/projections/src/main/java/example/springdata/rest/projections/Application.java b/rest/projections/src/main/java/example/springdata/rest/projections/Application.java
index 95dd1863c..fbf155c2c 100644
--- a/rest/projections/src/main/java/example/springdata/rest/projections/Application.java
+++ b/rest/projections/src/main/java/example/springdata/rest/projections/Application.java
@@ -19,7 +19,7 @@
import java.math.BigDecimal;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
diff --git a/rest/projections/src/main/java/example/springdata/rest/projections/Customer.java b/rest/projections/src/main/java/example/springdata/rest/projections/Customer.java
index 3b1fb0ff9..11fe101ab 100644
--- a/rest/projections/src/main/java/example/springdata/rest/projections/Customer.java
+++ b/rest/projections/src/main/java/example/springdata/rest/projections/Customer.java
@@ -18,11 +18,11 @@
import lombok.Data;
import lombok.RequiredArgsConstructor;
-import javax.persistence.CascadeType;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.OneToOne;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.OneToOne;
/**
* @author Oliver Gierke
diff --git a/rest/projections/src/main/java/example/springdata/rest/projections/LineItem.java b/rest/projections/src/main/java/example/springdata/rest/projections/LineItem.java
index 2cf945988..2804289ab 100644
--- a/rest/projections/src/main/java/example/springdata/rest/projections/LineItem.java
+++ b/rest/projections/src/main/java/example/springdata/rest/projections/LineItem.java
@@ -22,9 +22,9 @@
import java.math.BigDecimal;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
/**
* @author Oliver Gierke
diff --git a/rest/projections/src/main/java/example/springdata/rest/projections/Order.java b/rest/projections/src/main/java/example/springdata/rest/projections/Order.java
index 5c86b75c8..483b19bda 100644
--- a/rest/projections/src/main/java/example/springdata/rest/projections/Order.java
+++ b/rest/projections/src/main/java/example/springdata/rest/projections/Order.java
@@ -20,12 +20,12 @@
import java.util.ArrayList;
import java.util.List;
-import javax.persistence.CascadeType;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.ManyToOne;
-import javax.persistence.OneToMany;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.OneToMany;
/**
* @author Oliver Gierke
diff --git a/rest/projections/src/test/java/example/springdata/rest/projections/SimpleProjectionTests.java b/rest/projections/src/test/java/example/springdata/rest/projections/SimpleProjectionTests.java
index ff14d8ee3..061d93d5a 100644
--- a/rest/projections/src/test/java/example/springdata/rest/projections/SimpleProjectionTests.java
+++ b/rest/projections/src/test/java/example/springdata/rest/projections/SimpleProjectionTests.java
@@ -27,7 +27,7 @@
import org.springframework.data.projection.SpelAwareProxyProjectionFactory;
/**
- * Test cases showing the programatic use of a {@link ProjectionFactory}.
+ * Test cases showing the programmatic use of a {@link ProjectionFactory}.
*
* @author Oliver Gierke
* @author Divya Srivastava
diff --git a/rest/security/pom.xml b/rest/security/pom.xml
index a9d439d82..d06150133 100644
--- a/rest/security/pom.xml
+++ b/rest/security/pom.xml
@@ -2,16 +2,15 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0%20https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- spring-data-rest-security
-
- Spring Data REST - Security Example
-
org.springframework.data.examplesspring-data-rest-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
+ spring-data-rest-security
+ Spring Data REST - Security Example
+
diff --git a/rest/security/src/main/java/example/springdata/rest/security/Application.java b/rest/security/src/main/java/example/springdata/rest/security/Application.java
index 28ff3ab17..33db26912 100644
--- a/rest/security/src/main/java/example/springdata/rest/security/Application.java
+++ b/rest/security/src/main/java/example/springdata/rest/security/Application.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2014-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -15,7 +15,7 @@
*/
package example.springdata.rest.security;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
@@ -23,14 +23,16 @@
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpMethod;
-import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
+import org.springframework.security.config.Customizer;
+import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
+import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.crypto.factory.PasswordEncoderFactories;
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
+import org.springframework.security.web.SecurityFilterChain;
/**
* This example shows various ways to secure Spring Data REST applications using Spring Security
@@ -48,7 +50,7 @@ public static void main(String[] args) {
}
/**
- * Pre-load the system with employees and items.
+ * Preload the system with employees and items.
*/
public @PostConstruct void init() {
@@ -56,7 +58,7 @@ public static void main(String[] args) {
employeeRepository.save(new Employee("Frodo", "Baggins", "ring bearer"));
employeeRepository.save(new Employee("Gandalf", "the Wizard", "servant of the Secret Fire"));
- /**
+ /*
* Due to method-level protections on {@link example.company.ItemRepository}, the security context must be loaded
* with an authentication token containing the necessary privileges.
*/
@@ -70,16 +72,15 @@ public static void main(String[] args) {
/**
* This application is secured at both the URL level for some parts, and the method level for other parts. The URL
- * security is shown inside this code, while method-level annotations are enabled at by
- * {@link EnableGlobalMethodSecurity}.
+ * security is shown inside this code, while method-level annotations are enabled at by {@link EnableMethodSecurity}.
*
* @author Greg Turnquist
* @author Oliver Gierke
*/
@Configuration
- @EnableGlobalMethodSecurity(prePostEnabled = true)
+ @EnableMethodSecurity(prePostEnabled = true)
@EnableWebSecurity
- static class SecurityConfiguration extends WebSecurityConfigurerAdapter {
+ static class SecurityConfiguration {
/**
* This section defines the user accounts which can be used for authentication as well as the roles each user has.
@@ -107,16 +108,18 @@ InMemoryUserDetailsManager userDetailsManager() {
*
* @param http
* @throws Exception
- * @see org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter#configure(org.springframework.security.config.annotation.web.builders.HttpSecurity)
*/
- @Override
- protected void configure(HttpSecurity http) throws Exception {
-
- http.httpBasic().and().authorizeRequests().//
- antMatchers(HttpMethod.POST, "/employees").hasRole("ADMIN").//
- antMatchers(HttpMethod.PUT, "/employees/**").hasRole("ADMIN").//
- antMatchers(HttpMethod.PATCH, "/employees/**").hasRole("ADMIN").and().//
- csrf().disable();
+ @Bean
+ protected SecurityFilterChain configure(HttpSecurity http) throws Exception {
+
+ return http.authorizeHttpRequests((authorize) -> {
+
+ authorize //
+ .requestMatchers(HttpMethod.POST, "/employees").hasRole("ADMIN") //
+ .requestMatchers(HttpMethod.PUT, "/employees/**").hasRole("ADMIN") //
+ .requestMatchers(HttpMethod.PATCH, "/employees/**").hasRole("ADMIN") //
+ .anyRequest().permitAll();
+ }).httpBasic(Customizer.withDefaults()).csrf(AbstractHttpConfigurer::disable).build();
}
}
}
diff --git a/rest/security/src/main/java/example/springdata/rest/security/Employee.java b/rest/security/src/main/java/example/springdata/rest/security/Employee.java
index 03088ed65..b6e812e10 100644
--- a/rest/security/src/main/java/example/springdata/rest/security/Employee.java
+++ b/rest/security/src/main/java/example/springdata/rest/security/Employee.java
@@ -18,9 +18,9 @@
import lombok.Data;
import lombok.RequiredArgsConstructor;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
diff --git a/rest/security/src/main/java/example/springdata/rest/security/Item.java b/rest/security/src/main/java/example/springdata/rest/security/Item.java
index ee15dce7d..7c940db18 100644
--- a/rest/security/src/main/java/example/springdata/rest/security/Item.java
+++ b/rest/security/src/main/java/example/springdata/rest/security/Item.java
@@ -18,9 +18,9 @@
import lombok.Data;
import lombok.RequiredArgsConstructor;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
/**
* Domain object for an item managed by the company.
diff --git a/rest/security/src/test/java/example/springdata/rest/security/UrlLevelSecurityTests.java b/rest/security/src/test/java/example/springdata/rest/security/UrlLevelSecurityTests.java
index fb3055523..40f595c59 100644
--- a/rest/security/src/test/java/example/springdata/rest/security/UrlLevelSecurityTests.java
+++ b/rest/security/src/test/java/example/springdata/rest/security/UrlLevelSecurityTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2014-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -20,6 +20,8 @@
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
import static org.springframework.test.web.servlet.setup.MockMvcBuilders.*;
+import tools.jackson.databind.ObjectMapper;
+
import java.util.Base64;
import org.junit.jupiter.api.BeforeEach;
@@ -35,7 +37,6 @@
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.web.context.WebApplicationContext;
-import com.fasterxml.jackson.databind.ObjectMapper;
/**
* Test cases that verify the URL level of security by using the Spring MVC test framework.
@@ -68,8 +69,8 @@ void allowsAccessToRootResource() throws Exception {
mvc.perform(get("/").//
accept(MediaTypes.HAL_JSON)).//
- andExpect(content().contentTypeCompatibleWith(MediaTypes.HAL_JSON)).//
- andExpect(status().isOk());
+ andExpect(status().isOk()).//
+ andExpect(content().contentTypeCompatibleWith(MediaTypes.HAL_JSON));
}
@Test
@@ -91,8 +92,8 @@ void allowsGetRequestsButRejectsPostForUser() throws Exception {
mvc.perform(get("/employees").//
headers(headers)).//
- andExpect(content().contentTypeCompatibleWith(MediaTypes.HAL_JSON)).//
- andExpect(status().isOk());
+ andExpect(status().isOk()). //
+ andExpect(content().contentTypeCompatibleWith(MediaTypes.HAL_JSON));
mvc.perform(post("/employees").//
headers(headers)).//
diff --git a/rest/starbucks/README.md b/rest/starbucks/README.md
index 332381c83..b5f3aac46 100644
--- a/rest/starbucks/README.md
+++ b/rest/starbucks/README.md
@@ -1,6 +1,6 @@
# Spring Data REST - Starbucks example
-This sample app exposes 10843 Starbucks coffee shops via a RESTful API that allows to access the stores in a hypermedia based way and exposes a resource to execute geo-location search for coffee shops.
+This sample app exposes 10843 Starbucks coffee shops via a RESTful API that allows to access the stores in a hypermedia based way and exposes a resource to execute geolocation search for coffee shops.
## Quickstart
diff --git a/rest/starbucks/pom.xml b/rest/starbucks/pom.xml
index 122cbb8c6..c0b123361 100644
--- a/rest/starbucks/pom.xml
+++ b/rest/starbucks/pom.xml
@@ -2,16 +2,15 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0%20https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- spring-data-rest-starbucks
-
- Spring Data REST - Starbucks Example
-
org.springframework.data.examplesspring-data-rest-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
+ spring-data-rest-starbucks
+ Spring Data REST - Starbucks Example
+
@@ -19,9 +18,21 @@
spring-boot-starter-data-mongodb
+
+ org.springframework.boot
+ spring-boot-restclient
+
+
+
+ org.springframework.boot
+ spring-boot-resttestclient
+ test
+
+
de.flapdoodle.embedde.flapdoodle.embed.mongo
+ 4.16.2runtime
@@ -69,14 +80,14 @@
org.webjarsjquery
- 2.1.3
+ 3.7.1runtimeorg.webjarsbootstrap
- 3.3.4
+ 5.3.3runtime
@@ -93,6 +104,14 @@
runtime
+
+
+
+ org.testcontainers
+ testcontainers-mongodb
+ test
+
+
diff --git a/rest/starbucks/src/main/java/example/springdata/rest/stores/StoreInitializer.java b/rest/starbucks/src/main/java/example/springdata/rest/stores/StoreInitializer.java
index 9c0f6d52e..9b28d23dc 100644
--- a/rest/starbucks/src/main/java/example/springdata/rest/stores/StoreInitializer.java
+++ b/rest/starbucks/src/main/java/example/springdata/rest/stores/StoreInitializer.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2014-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -23,12 +23,11 @@
import java.util.Scanner;
import java.util.UUID;
-import org.springframework.batch.item.ExecutionContext;
-import org.springframework.batch.item.file.FlatFileItemReader;
-import org.springframework.batch.item.file.mapping.DefaultLineMapper;
-import org.springframework.batch.item.file.separator.DefaultRecordSeparatorPolicy;
-import org.springframework.batch.item.file.transform.DelimitedLineTokenizer;
-import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.batch.infrastructure.item.ExecutionContext;
+import org.springframework.batch.infrastructure.item.file.FlatFileItemReader;
+import org.springframework.batch.infrastructure.item.file.mapping.DefaultLineMapper;
+import org.springframework.batch.infrastructure.item.file.separator.DefaultRecordSeparatorPolicy;
+import org.springframework.batch.infrastructure.item.file.transform.DelimitedLineTokenizer;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.geo.Point;
import org.springframework.data.mongodb.core.MongoOperations;
@@ -36,7 +35,7 @@
import org.springframework.stereotype.Component;
/**
- * Component initializing a hand full of Starbucks stores and persisting them through a {@link StoreRepository}.
+ * Component initializing a handful of Starbucks stores and persisting them through a {@link StoreRepository}.
*
* @author Oliver Gierke
* @author Mark Paluch
@@ -45,7 +44,6 @@
@Component
public class StoreInitializer {
- @Autowired
public StoreInitializer(StoreRepository repository, MongoOperations operations) throws Exception {
if (repository.count() != 0) {
@@ -55,7 +53,7 @@ public StoreInitializer(StoreRepository repository, MongoOperations operations)
var indexDefinitions = IndexResolver.create(operations.getConverter().getMappingContext())
.resolveIndexFor(Store.class);
- indexDefinitions.forEach(operations.indexOps(Store.class)::ensureIndex);
+ indexDefinitions.forEach(operations.indexOps(Store.class)::createIndex);
var stores = readStores();
log.info("Importing {} stores into MongoDB…", stores.size());
@@ -64,7 +62,7 @@ public StoreInitializer(StoreRepository repository, MongoOperations operations)
}
/**
- * Reads a file {@code starbucks.csv} from the class path and parses it into {@link Store} instances about to
+ * Reads a file {@code starbucks.csv} from the class path and parses it into {@link Store} instances about to be
* persisted.
*
* @return
@@ -77,8 +75,6 @@ private static List readStores() throws Exception {
var line = scanner.nextLine();
scanner.close();
- var itemReader = new FlatFileItemReader();
- itemReader.setResource(resource);
// DelimitedLineTokenizer defaults to comma as its delimiter
var tokenizer = new DelimitedLineTokenizer();
@@ -95,6 +91,9 @@ private static List readStores() throws Exception {
return new Store(UUID.randomUUID(), fields.readString("Name"), address);
});
+ var itemReader = new FlatFileItemReader<>(lineMapper);
+ itemReader.setResource(resource);
+
lineMapper.setLineTokenizer(tokenizer);
itemReader.setLineMapper(lineMapper);
itemReader.setRecordSeparatorPolicy(new DefaultRecordSeparatorPolicy());
diff --git a/rest/starbucks/src/main/java/example/springdata/rest/stores/StoreRepository.java b/rest/starbucks/src/main/java/example/springdata/rest/stores/StoreRepository.java
index 366bc363d..1a67b3f92 100644
--- a/rest/starbucks/src/main/java/example/springdata/rest/stores/StoreRepository.java
+++ b/rest/starbucks/src/main/java/example/springdata/rest/stores/StoreRepository.java
@@ -24,6 +24,7 @@
import org.springframework.data.querydsl.QuerydslPredicateExecutor;
import org.springframework.data.querydsl.binding.QuerydslBindings;
import org.springframework.data.querydsl.binding.SingleValueBinding;
+import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.rest.core.annotation.RestResource;
@@ -36,7 +37,8 @@
*
* @author Oliver Gierke
*/
-public interface StoreRepository extends PagingAndSortingRepository, QuerydslPredicateExecutor {
+public interface StoreRepository
+ extends CrudRepository, PagingAndSortingRepository, QuerydslPredicateExecutor {
@RestResource(rel = "by-location")
Page findByAddressLocationNear(Point location, Distance distance, Pageable pageable);
diff --git a/rest/starbucks/src/main/java/example/springdata/rest/stores/web/StoresController.java b/rest/starbucks/src/main/java/example/springdata/rest/stores/web/StoresController.java
index febca76a5..a1dee0fbb 100644
--- a/rest/starbucks/src/main/java/example/springdata/rest/stores/web/StoresController.java
+++ b/rest/starbucks/src/main/java/example/springdata/rest/stores/web/StoresController.java
@@ -34,8 +34,7 @@
import org.springframework.hateoas.LinkRelation;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
@@ -70,7 +69,7 @@ class StoresController {
* @param pageable the pagination information
* @return
*/
- @RequestMapping(value = "/", method = RequestMethod.GET)
+ @GetMapping("/")
String index(Model model, @RequestParam Optional location, @RequestParam Optional distance,
Pageable pageable) {
diff --git a/rest/starbucks/src/main/resources/application.properties b/rest/starbucks/src/main/resources/application.properties
index c774561cc..a371c9cc5 100644
--- a/rest/starbucks/src/main/resources/application.properties
+++ b/rest/starbucks/src/main/resources/application.properties
@@ -1,4 +1,3 @@
-# Random port for embedded MongoDB
-spring.data.mongodb.port=0
# Spring Data REST
spring.data.rest.base-path=/api
+spring.mongodb.representation.uuid=standard
diff --git a/rest/starbucks/src/test/java/example/springdata/rest/stores/StarbucksClient.java b/rest/starbucks/src/test/java/example/springdata/rest/stores/StarbucksClient.java
index 3e6d5ff10..9ac0d682c 100644
--- a/rest/starbucks/src/test/java/example/springdata/rest/stores/StarbucksClient.java
+++ b/rest/starbucks/src/test/java/example/springdata/rest/stores/StarbucksClient.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2014-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -26,20 +26,17 @@
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.resttestclient.TestRestTemplate;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
-import org.springframework.boot.web.server.LocalServerPort;
-import org.springframework.context.annotation.Bean;
+import org.springframework.boot.test.web.server.LocalServerPort;
import org.springframework.hateoas.EntityModel;
import org.springframework.hateoas.MediaTypes;
import org.springframework.hateoas.client.Traverson;
import org.springframework.hateoas.server.core.TypeReferences.CollectionModelType;
import org.springframework.hateoas.server.core.TypeReferences.EntityModelType;
import org.springframework.hateoas.server.core.TypeReferences.PagedModelType;
-import org.springframework.http.RequestEntity;
-import org.springframework.web.client.RestOperations;
-import org.springframework.web.client.RestTemplate;
+import org.springframework.web.client.RestClient;
/**
* A test case to discover the search resource and execute a predefined search with it.
@@ -47,22 +44,12 @@
* @author Oliver Gierke
* @author Divya Srivastava
*/
-@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
@Slf4j
+@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
class StarbucksClient {
- @SpringBootApplication
- static class Config {
-
- @Bean
- public RestTemplate restTemplate() {
- return new RestTemplate();
- }
- }
-
@LocalServerPort int port;
-
- @Autowired RestOperations restOperations;
+ @Autowired TestRestTemplate template;
private static final String SERVICE_URI = "http://localhost:%s/api";
@@ -102,17 +89,23 @@ void accessServiceUsingRestTemplate() {
// Access root resource
- var uri = URI.create(String.format(SERVICE_URI, port));
- var request = RequestEntity.get(uri).accept(HAL_JSON).build();
- var rootLinks = restOperations.exchange(request, new EntityModelType<>() {}).getBody();
- var links = rootLinks.getLinks();
+ var client = RestClient.create(template.getRestTemplate());
+
+ var links = client.get()
+ .uri(URI.create(String.format(SERVICE_URI, port)))
+ .accept(HAL_JSON)
+ .retrieve()
+ .body(new EntityModelType<>() {})
+ .getLinks();
// Follow stores link
var storesLink = links.getRequiredLink("stores").expand();
- request = RequestEntity.get(URI.create(storesLink.getHref())).accept(HAL_JSON).build();
- var stores = restOperations.exchange(request, new CollectionModelType() {}).getBody();
+ var stores = client.get().uri(storesLink.toUri())
+ .accept(HAL_JSON)
+ .retrieve()
+ .body(new CollectionModelType() {});
stores.getContent().forEach(store -> log.info("{} - {}", store.name, store.address));
}
@@ -126,8 +119,7 @@ public String toString() {
return String.format("%s, %s %s - lat: %s, long: %s", street, zip, city, location.y, location.x);
}
- record Location(double x, double y) {
- }
+ record Location(double x, double y) {}
}
}
}
diff --git a/rest/starbucks/src/test/java/example/springdata/rest/stores/StoreRepositoryIntegrationTests.java b/rest/starbucks/src/test/java/example/springdata/rest/stores/StoreRepositoryIntegrationTests.java
index f5de082ee..7057ac1ea 100644
--- a/rest/starbucks/src/test/java/example/springdata/rest/stores/StoreRepositoryIntegrationTests.java
+++ b/rest/starbucks/src/test/java/example/springdata/rest/stores/StoreRepositoryIntegrationTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2014-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -24,7 +24,6 @@
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.domain.PageRequest;
@@ -38,19 +37,19 @@
* @author Oliver Gierke
* @author Mark Paluch
*/
-@SpringBootTest(classes = Application.class)
-public class StoreRepositoryIntegrationTests {
+@SpringBootTest(classes = { Application.class, TestApplication.class })
+class StoreRepositoryIntegrationTests {
@Autowired StoreRepository repository;
@BeforeEach
@AfterEach
- public void clearDb() {
+ void clearDb() {
repository.deleteAll();
}
@Test
- public void findsStoresByLocation() {
+ void findsStoresByLocation() {
var location = new Point(-73.995146, 40.740337);
var store = new Store(UUID.randomUUID(), "Foo", new Address("street", "city", "zip", location));
diff --git a/rest/starbucks/src/test/java/example/springdata/rest/stores/TestApplication.java b/rest/starbucks/src/test/java/example/springdata/rest/stores/TestApplication.java
new file mode 100644
index 000000000..2a75fc213
--- /dev/null
+++ b/rest/starbucks/src/test/java/example/springdata/rest/stores/TestApplication.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2025 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package example.springdata.rest.stores;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.testcontainers.mongodb.MongoDBContainer;
+import org.testcontainers.utility.DockerImageName;
+
+/**
+ * @author Oliver Drotbohm
+ */
+@Configuration
+public class TestApplication {
+
+ @Bean
+ @ServiceConnection
+ MongoDBContainer mongoDBContainer() {
+ return new MongoDBContainer(DockerImageName.parse("mongodb/mongodb-community-server"));
+ }
+
+ public static void main(String[] args) {
+
+ SpringApplication.from(Application::main)
+ .with(TestApplication.class)
+ .run(args);
+ }
+}
diff --git a/rest/uri-customization/pom.xml b/rest/uri-customization/pom.xml
index 5b12a6fb8..e04b2cdb3 100644
--- a/rest/uri-customization/pom.xml
+++ b/rest/uri-customization/pom.xml
@@ -2,16 +2,15 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0%20https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- spring-data-rest-uri-customizations
-
- Spring Data REST - URI Customizations Example
-
org.springframework.data.examplesspring-data-rest-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
+ spring-data-rest-uri-customizations
+ Spring Data REST - URI Customizations Example
+
@@ -27,4 +26,4 @@
-
\ No newline at end of file
+
diff --git a/rest/uri-customization/readme.adoc b/rest/uri-customization/readme.adoc
index 721ee8051..8ff25db6d 100644
--- a/rest/uri-customization/readme.adoc
+++ b/rest/uri-customization/readme.adoc
@@ -18,7 +18,7 @@ public class SpringDataRestCustomization extends RepositoryRestConfigurerAdapter
}
----
-As you can see the `EntityLookupRegistrar` obtained via `RepositoryrestConfiguration.withCustomEntityLookup()` takes two method references.
+As you can see the `EntityLookupRegistrar` obtained via `RepositoryRestConfiguration.withCustomEntityLookup()` takes two method references.
The first one defines the identifier mapping, the second one defines how to look up the entity using the repository.
The customization could also be defined in a slightly more explicit way like this:
@@ -30,7 +30,7 @@ config.withCustomEntityLookup().
withLookup(UserRepository::findByUsername);
----
-In non-Java 8 environments the method references would have to be replaced with a quite verbose anonymous inner class, so that it's probably easier to implement `EntityLookup` explixitly and declare it as Spring bean:
+In non-Java 8 environments the method references would have to be replaced with a quite verbose anonymous inner class, so that it's probably easier to implement `EntityLookup` explicitly and declare it as Spring bean:
[source, java]
----
diff --git a/rest/uri-customization/src/main/java/example/springdata/rest/uris/Application.java b/rest/uri-customization/src/main/java/example/springdata/rest/uris/Application.java
index 383e632ea..7785f0e48 100644
--- a/rest/uri-customization/src/main/java/example/springdata/rest/uris/Application.java
+++ b/rest/uri-customization/src/main/java/example/springdata/rest/uris/Application.java
@@ -15,7 +15,7 @@
*/
package example.springdata.rest.uris;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
diff --git a/web/example/pom.xml b/web/example/pom.xml
index fb9a67b6c..256c919eb 100644
--- a/web/example/pom.xml
+++ b/web/example/pom.xml
@@ -2,16 +2,15 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0%20https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- spring-data-web-example
-
- Spring Data - Basic web example
-
org.springframework.data.examplesspring-data-web-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
+ spring-data-web-example
+ Spring Data - Basic web example
+
@@ -41,4 +40,4 @@
-
\ No newline at end of file
+
diff --git a/web/example/src/main/java/example/Application.java b/web/example/src/main/java/example/Application.java
index 7cb6740cb..5f948bae4 100644
--- a/web/example/src/main/java/example/Application.java
+++ b/web/example/src/main/java/example/Application.java
@@ -15,15 +15,8 @@
*/
package example;
-import example.users.Password;
import example.users.UserManagement;
-import example.users.Username;
-import java.util.stream.IntStream;
-
-import javax.annotation.PostConstruct;
-
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
@@ -55,19 +48,6 @@ public static void main(String... args) {
SpringApplication.run(Application.class, args);
}
- @Autowired UserManagement userManagement;
-
- /**
- * Creates a few sample users.
- */
- @PostConstruct
- public void init() {
-
- IntStream.range(0, 41).forEach(index -> {
- userManagement.register(new Username("user" + index), Password.raw("foobar"));
- });
- }
-
/**
* A Spring Security {@link PasswordEncoder} to encrypt passwords for newly created users, used in
* {@link UserManagement}.
diff --git a/web/example/src/main/java/example/users/Password.java b/web/example/src/main/java/example/users/Password.java
index 4ab73b66f..d84422929 100644
--- a/web/example/src/main/java/example/users/Password.java
+++ b/web/example/src/main/java/example/users/Password.java
@@ -15,7 +15,7 @@
*/
package example.users;
-import javax.persistence.Embeddable;
+import jakarta.persistence.Embeddable;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
@@ -56,7 +56,7 @@ public static Password raw(String password) {
/**
* Creates a new encrypted {@link Password} for the given {@link String}. Note how this method is package protected so
- * that encrypted passwords can only created by components in this package and not accidentally by clients using the
+ * that encrypted passwords can only be created by components in this package and not accidentally by clients using the
* type from other packages.
*
* @param password must not be {@literal null} or empty.
diff --git a/web/example/src/main/java/example/users/User.java b/web/example/src/main/java/example/users/User.java
index 6f6c05f6a..4d14357c1 100644
--- a/web/example/src/main/java/example/users/User.java
+++ b/web/example/src/main/java/example/users/User.java
@@ -15,11 +15,11 @@
*/
package example.users;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.PrePersist;
-import javax.persistence.PreUpdate;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.PrePersist;
+import jakarta.persistence.PreUpdate;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
diff --git a/web/example/src/main/java/example/users/UserManagement.java b/web/example/src/main/java/example/users/UserManagement.java
index fe52289d3..852f3451b 100644
--- a/web/example/src/main/java/example/users/UserManagement.java
+++ b/web/example/src/main/java/example/users/UserManagement.java
@@ -16,8 +16,10 @@
package example.users;
import java.util.Optional;
+import java.util.stream.IntStream;
-import javax.transaction.Transactional;
+import jakarta.annotation.PostConstruct;
+import jakarta.transaction.Transactional;
import lombok.RequiredArgsConstructor;
@@ -86,4 +88,15 @@ public Optional findByUsername(Username username) {
return repository.findByUsername(username);
}
+
+ /**
+ * Creates a few sample users.
+ */
+ @PostConstruct
+ public void init() {
+
+ IntStream.range(0, 41).forEach(index -> {
+ register(new Username("user" + index), Password.raw("foobar"));
+ });
+ }
}
diff --git a/web/example/src/main/java/example/users/UserRepository.java b/web/example/src/main/java/example/users/UserRepository.java
index a5d32a0af..771baf79f 100644
--- a/web/example/src/main/java/example/users/UserRepository.java
+++ b/web/example/src/main/java/example/users/UserRepository.java
@@ -17,6 +17,7 @@
import java.util.Optional;
+import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
@@ -24,7 +25,7 @@
*
* @author Oliver Gierke
*/
-interface UserRepository extends PagingAndSortingRepository {
+interface UserRepository extends CrudRepository, PagingAndSortingRepository {
/**
* Returns the user with the given {@link Username}.
diff --git a/web/example/src/main/java/example/users/Username.java b/web/example/src/main/java/example/users/Username.java
index 2a1e295c4..21690e1bc 100644
--- a/web/example/src/main/java/example/users/Username.java
+++ b/web/example/src/main/java/example/users/Username.java
@@ -15,7 +15,7 @@
*/
package example.users;
-import javax.persistence.Embeddable;
+import jakarta.persistence.Embeddable;
import lombok.EqualsAndHashCode;
diff --git a/web/example/src/main/java/example/users/web/UserController.java b/web/example/src/main/java/example/users/web/UserController.java
index b5d8da512..6ee6339a8 100644
--- a/web/example/src/main/java/example/users/web/UserController.java
+++ b/web/example/src/main/java/example/users/web/UserController.java
@@ -58,7 +58,7 @@ class UserController {
private final UserManagement userManagement;
/**
- * Equis the model with a {@link Page} of {@link User}s. Spring Data automatically populates the {@link Pageable} from
+ * Populates the model with a {@link Page} of {@link User}s. Spring Data automatically populates the {@link Pageable} from
* request data according to the setup of {@link PageableHandlerMethodArgumentResolver}. Note how the defaults can be
* tweaked by using {@link PageableDefault}.
*
diff --git a/web/pom.xml b/web/pom.xml
index f9899badc..59201bc9b 100644
--- a/web/pom.xml
+++ b/web/pom.xml
@@ -8,7 +8,7 @@
org.springframework.data.examplesspring-data-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOTSpring Data - Web examples
@@ -16,7 +16,7 @@
2015
- example
+ examplequerydslprojection
@@ -30,4 +30,4 @@
-
\ No newline at end of file
+
diff --git a/web/projection/README.md b/web/projection/README.md
index a128376c8..9fa6f0f9d 100644
--- a/web/projection/README.md
+++ b/web/projection/README.md
@@ -22,9 +22,9 @@ This type is used in `UserController.index(…)` and basically combines two mode
## Binding request data via JSON Path expression
-The `@JsonPath` annotations bind the values obtained by evaluating the expressions from the request. The sample is using a recursive property lookup for `firstname` and `lastname`. Using those expressions allows the payload thats received to slightly changed and the code dealing with not having to be changed.
+The `@JsonPath` annotations bind the values obtained by evaluating the expressions from the request. The sample is using a recursive property lookup for `firstname` and `lastname`. Using those expressions allows the payload that received to slightly changed and the code dealing with not having to be changed.
-As an example using that on the server side can be found in `UserControllerIntegrationTests`. The tests sends two different flavors of JSON to simulate a change in behavior of the client and the server can handle both representation formats without the need for a change.
+As an example using that on the server side can be found in `UserControllerIntegrationTests`. The tests send two different flavors of JSON to simulate a change in behavior of the client and the server can handle both representation formats without the need for a change.
This is also very useful on the client side which is simulated in `UserControllerClientTests` setting up a `RestTemplate` with the newly introduced `HttpMessageConverters` so that the projection interface can be used to access the payload. See how the test case accesses different HTTP resources, that simulate a change in the representation on the server side.
diff --git a/web/projection/pom.xml b/web/projection/pom.xml
index 8225ca139..1c781bcd0 100644
--- a/web/projection/pom.xml
+++ b/web/projection/pom.xml
@@ -2,16 +2,15 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0%20https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- spring-data-web-projection
-
- Spring Data - JSON and XML projection web example
-
org.springframework.data.examplesspring-data-web-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
+ spring-data-web-projection
+ Spring Data - JSON and XML projection web example
+
@@ -19,6 +18,23 @@
spring-boot-starter-web
+
+ org.springframework.boot
+ spring-boot-restclient
+
+
+
+ org.springframework.boot
+ spring-boot-resttestclient
+ test
+
+
+
+ org.springframework.boot
+ spring-boot-webmvc-test
+ test
+
+
org.springframework.dataspring-data-commons
@@ -32,7 +48,7 @@
org.xmlbeamxmlprojector
- 1.4.13
+ 1.4.26
diff --git a/web/projection/src/main/java/example/users/Application.java b/web/projection/src/main/java/example/users/Application.java
index cbf05adf1..8b9c0e5e2 100644
--- a/web/projection/src/main/java/example/users/Application.java
+++ b/web/projection/src/main/java/example/users/Application.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2015-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -17,11 +17,13 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.data.web.config.EnableSpringDataWebSupport;
/**
* @author Oliver Gierke
*/
@SpringBootApplication
+@EnableSpringDataWebSupport
public class Application {
public static void main(String[] args) {
diff --git a/web/projection/src/test/java/example/users/UserControllerClientTests.java b/web/projection/src/test/java/example/users/UserControllerClientTests.java
index 7fbec50db..d42f2a0a9 100644
--- a/web/projection/src/test/java/example/users/UserControllerClientTests.java
+++ b/web/projection/src/test/java/example/users/UserControllerClientTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2016-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -15,28 +15,28 @@
*/
package example.users;
+import static org.assertj.core.api.Assertions.*;
+
import example.users.UserController.UserPayload;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
+
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.restclient.RestTemplateBuilder;
+import org.springframework.boot.resttestclient.TestRestTemplate;
+import org.springframework.boot.resttestclient.autoconfigure.AutoConfigureTestRestTemplate;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
-import org.springframework.boot.test.web.client.TestRestTemplate;
-import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
-import org.springframework.data.web.ProjectingJackson2HttpMessageConverter;
+import org.springframework.data.web.ProjectingJacksonHttpMessageConverter;
import org.springframework.data.web.XmlBeamHttpMessageConverter;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import static org.assertj.core.api.Assertions.*;
/**
* Integration tests for {@link UserController} to demonstrate client-side resilience of the payload type against
@@ -47,6 +47,7 @@
* @author Jens Schauder
*/
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
+@AutoConfigureTestRestTemplate
class UserControllerClientTests {
@Autowired TestRestTemplate template;
@@ -64,7 +65,7 @@ static class Config {
@Bean
RestTemplateBuilder builder() {
return new RestTemplateBuilder()//
- .additionalMessageConverters(new ProjectingJackson2HttpMessageConverter())//
+ .additionalMessageConverters(new ProjectingJacksonHttpMessageConverter())//
.additionalMessageConverters(new XmlBeamHttpMessageConverter());
}
}
diff --git a/web/projection/src/test/java/example/users/UserControllerIntegrationTests.java b/web/projection/src/test/java/example/users/UserControllerIntegrationTests.java
index 9df595fec..113995b7b 100644
--- a/web/projection/src/test/java/example/users/UserControllerIntegrationTests.java
+++ b/web/projection/src/test/java/example/users/UserControllerIntegrationTests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2016-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -22,9 +22,9 @@
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
-import org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrint;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc;
+import org.springframework.boot.webmvc.test.autoconfigure.MockMvcPrint;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.MockMvc;
diff --git a/web/querydsl/README.md b/web/querydsl/README.md
index 03a0764f5..91ae105c5 100644
--- a/web/querydsl/README.md
+++ b/web/querydsl/README.md
@@ -4,9 +4,8 @@ This example shows some of the Spring Data Querydsl integration features with Sp
## Quickstart
-1. Install MongoDB (http://www.mongodb.org/downloads, unzip, run `mkdir data`, run `bin/mongod --dbpath=data`)
-2. Build and run the app (`mvn spring-boot:run`)
-4. Access app directly via its UI (`http://localhost:8080/`).
+1. Build and run the app (`mvn spring-boot:test-run`)
+2. Access app directly via its UI (`http://localhost:8080/`).
## Interesting bits
@@ -30,7 +29,7 @@ class UserController {
}
```
-As you can see `Predicate` can be used as Spring MVC controller argument. It will automatically populate such a `Predicate` with values from the current request based on the type configured in `@QuerydslPredicate`. Explicit bindings can be configured by either explictly defining one in the annotation, too. By default, we will inspect the domain types's repository for binding customizations. In this example, it looks like this:
+As you can see `Predicate` can be used as Spring MVC controller argument. It will automatically populate such a `Predicate` with values from the current request based on the type configured in `@QuerydslPredicate`. Explicit bindings can be configured by either explicitly defining one in the annotation, too. By default, we will inspect the domain types's repository for binding customizations. In this example, it looks like this:
```java
public interface UserRepository
@@ -45,7 +44,7 @@ public interface UserRepository
}
```
-The repository extends `QuerydslBinderCustomizer` which exposes a `QuerydslBindings` instance for customization. It allows for property based (by using Querydsl's meta-model types) and type based customizations of the value binding. The example here defines a `String`-properties to be bound using the `containsIgnoreCase(…)` operator. For further information checkout the JavaDoc of [QuerydslBindings](http://docs.spring.io/spring-data/commons/docs/1.11.0.RC1/api/org/springframework/data/querydsl/binding/QuerydslBindings.html).
+The repository extends `QuerydslBinderCustomizer` which exposes a `QuerydslBindings` instance for customization. It allows for property based (by using Querydsl's metamodel types) and type based customizations of the value binding. The example here defines a `String`-properties to be bound using the `containsIgnoreCase(…)` operator. For further information checkout the JavaDoc of [QuerydslBindings](http://docs.spring.io/spring-data/commons/docs/1.11.0.RC1/api/org/springframework/data/querydsl/binding/QuerydslBindings.html).
## Technologies used
diff --git a/web/querydsl/pom.xml b/web/querydsl/pom.xml
index 1ad3ec0e5..eb656e4c2 100644
--- a/web/querydsl/pom.xml
+++ b/web/querydsl/pom.xml
@@ -2,16 +2,15 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0%20https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- spring-data-web-querydsl
-
- Spring Data - QueryDSL web example
-
org.springframework.data.examplesspring-data-web-examples
- 2.0.0.BUILD-SNAPSHOT
+ 4.0.0-SNAPSHOT
+ spring-data-web-querydsl
+ Spring Data - QueryDSL web example
+
@@ -24,6 +23,11 @@
spring-boot-starter-data-mongodb
+
+ org.springframework.boot
+ spring-boot-data-mongodb-test
+
+
com.querydslquerydsl-mongodb
@@ -36,9 +40,9 @@
- de.flapdoodle.embed
- de.flapdoodle.embed.mongo
- runtime
+ org.testcontainers
+ testcontainers-mongodb
+ test
@@ -57,20 +61,20 @@
io.github.jpenrenthymeleaf-spring-data-dialect
- 3.3.0
+ 3.6.0org.webjarsjquery
- 2.1.3
+ 3.7.1runtimeorg.webjarsbootstrap
- 3.3.4
+ 5.3.3runtime
@@ -87,6 +91,12 @@
runtime
+
+ org.testcontainers
+ testcontainers-junit-jupiter
+ test
+
+
diff --git a/web/querydsl/src/main/java/example/users/Application.java b/web/querydsl/src/main/java/example/users/Application.java
index 06f626c9e..22559dbbd 100644
--- a/web/querydsl/src/main/java/example/users/Application.java
+++ b/web/querydsl/src/main/java/example/users/Application.java
@@ -15,7 +15,7 @@
*/
package example.users;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
diff --git a/web/querydsl/src/main/java/example/users/UserInitializer.java b/web/querydsl/src/main/java/example/users/UserInitializer.java
index aefc061ae..e75014ffe 100644
--- a/web/querydsl/src/main/java/example/users/UserInitializer.java
+++ b/web/querydsl/src/main/java/example/users/UserInitializer.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2015-2021 the original author or authors.
+ * Copyright 2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -27,11 +27,11 @@
import java.util.Scanner;
import java.util.stream.Collectors;
-import org.springframework.batch.item.ExecutionContext;
-import org.springframework.batch.item.file.FlatFileItemReader;
-import org.springframework.batch.item.file.mapping.DefaultLineMapper;
-import org.springframework.batch.item.file.separator.DefaultRecordSeparatorPolicy;
-import org.springframework.batch.item.file.transform.DelimitedLineTokenizer;
+import org.springframework.batch.infrastructure.item.ExecutionContext;
+import org.springframework.batch.infrastructure.item.file.FlatFileItemReader;
+import org.springframework.batch.infrastructure.item.file.mapping.DefaultLineMapper;
+import org.springframework.batch.infrastructure.item.file.separator.DefaultRecordSeparatorPolicy;
+import org.springframework.batch.infrastructure.item.file.transform.DelimitedLineTokenizer;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.util.StringUtils;
@@ -61,8 +61,7 @@ private static List readUsers(Resource resource) throws Exception {
String line = scanner.nextLine();
scanner.close();
- FlatFileItemReader reader = new FlatFileItemReader();
- reader.setResource(resource);
+
DelimitedLineTokenizer tokenizer = new DelimitedLineTokenizer();
tokenizer.setNames(line.split(","));
@@ -101,7 +100,9 @@ private static List readUsers(Resource resource) throws Exception {
lineMapper.setLineTokenizer(tokenizer);
- reader.setLineMapper(lineMapper);
+ FlatFileItemReader reader = new FlatFileItemReader(lineMapper);
+ reader.setResource(resource);
+
reader.setRecordSeparatorPolicy(new DefaultRecordSeparatorPolicy());
reader.setLinesToSkip(1);
reader.open(new ExecutionContext());
diff --git a/web/querydsl/src/main/resources/application.properties b/web/querydsl/src/main/resources/application.properties
index 4e56fc651..6846da4e6 100644
--- a/web/querydsl/src/main/resources/application.properties
+++ b/web/querydsl/src/main/resources/application.properties
@@ -1,2 +1 @@
spring.data.rest.base-path=/api
-spring.data.mongodb.port=0
diff --git a/web/querydsl/src/main/resources/templates/index.html b/web/querydsl/src/main/resources/templates/index.html
index 6b6bb4500..92abc3d0c 100644
--- a/web/querydsl/src/main/resources/templates/index.html
+++ b/web/querydsl/src/main/resources/templates/index.html
@@ -23,23 +23,27 @@