From 6f25a5e041e674b016d80e5fdb52918737e34136 Mon Sep 17 00:00:00 2001 From: Tahitoa MERLIN Date: Mon, 24 Nov 2025 04:15:38 +0100 Subject: [PATCH] Refactor the JpaPagingItemReader by making the entityManagerFactory field final. Signed-off-by: Tahitoa MERLIN --- .../infrastructure/item/database/JpaItemWriter.java | 10 +--------- .../item/database/JpaPagingItemReader.java | 6 +----- .../JpaPagingItemReaderNamedQueryIntegrationTests.java | 1 - 3 files changed, 2 insertions(+), 15 deletions(-) diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/infrastructure/item/database/JpaItemWriter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/infrastructure/item/database/JpaItemWriter.java index 6e74c03d85..f7576de99b 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/infrastructure/item/database/JpaItemWriter.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/infrastructure/item/database/JpaItemWriter.java @@ -49,7 +49,7 @@ public class JpaItemWriter implements ItemWriter { protected static final Log logger = LogFactory.getLog(JpaItemWriter.class); - private EntityManagerFactory entityManagerFactory; + private final EntityManagerFactory entityManagerFactory; private boolean usePersist = false; @@ -65,14 +65,6 @@ public JpaItemWriter(EntityManagerFactory entityManagerFactory) { this.entityManagerFactory = entityManagerFactory; } - /** - * Set the EntityManager to be used internally. - * @param entityManagerFactory the entityManagerFactory to set - */ - public void setEntityManagerFactory(EntityManagerFactory entityManagerFactory) { - this.entityManagerFactory = entityManagerFactory; - } - /** * Set whether the EntityManager should perform a persist instead of a merge. * @param usePersist whether to use persist instead of merge. diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/infrastructure/item/database/JpaPagingItemReader.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/infrastructure/item/database/JpaPagingItemReader.java index a3b13c6fd9..c42cc0a89c 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/infrastructure/item/database/JpaPagingItemReader.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/infrastructure/item/database/JpaPagingItemReader.java @@ -87,7 +87,7 @@ */ public class JpaPagingItemReader extends AbstractPagingItemReader { - private EntityManagerFactory entityManagerFactory; + private final EntityManagerFactory entityManagerFactory; private @Nullable EntityManager entityManager; @@ -113,10 +113,6 @@ public JpaPagingItemReader(EntityManagerFactory entityManagerFactory) { this.entityManagerFactory = entityManagerFactory; } - public void setEntityManagerFactory(EntityManagerFactory entityManagerFactory) { - this.entityManagerFactory = entityManagerFactory; - } - /** * The parameter values to be used for the query execution. * @param parameterValues the values keyed by the parameter named used in the query diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/infrastructure/item/database/JpaPagingItemReaderNamedQueryIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/infrastructure/item/database/JpaPagingItemReaderNamedQueryIntegrationTests.java index d4525f3d40..f8b43c0cdd 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/infrastructure/item/database/JpaPagingItemReaderNamedQueryIntegrationTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/infrastructure/item/database/JpaPagingItemReaderNamedQueryIntegrationTests.java @@ -47,7 +47,6 @@ protected AbstractPagingItemReader getItemReader() throws Exception { jpaNamedQueryProvider.setEntityClass(Foo.class); jpaNamedQueryProvider.afterPropertiesSet(); - reader.setEntityManagerFactory(entityManagerFactory); reader.setQueryProvider(jpaNamedQueryProvider); reader.afterPropertiesSet(); reader.setSaveState(true);