diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateCursorItemReader.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateCursorItemReader.java
index ca1743600..f6367c23f 100644
--- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateCursorItemReader.java
+++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateCursorItemReader.java
@@ -53,7 +53,9 @@ import org.springframework.util.ClassUtils;
* @author Robert Kasanicky
* @author Dave Syer
* @author Mahmoud Ben Hassine
+ * @deprecated since 5.0 for removal in 5.2. Use the {@link JpaCursorItemReader} instead.
*/
+@Deprecated(since = "5.0", forRemoval = true)
public class HibernateCursorItemReader extends AbstractItemCountingItemStreamItemReader
implements InitializingBean {
diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateItemReaderHelper.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateItemReaderHelper.java
index 444bbaef1..fc4faef6e 100644
--- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateItemReaderHelper.java
+++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateItemReaderHelper.java
@@ -37,7 +37,9 @@ import org.springframework.util.StringUtils;
* @author Dave Syer
* @author Mahmoud Ben Hassine
* @author June Young. Park
+ * @deprecated since 5.0 for removal in 5.2. Use the JPA item readers instead.
*/
+@Deprecated(since = "5.0", forRemoval = true)
public class HibernateItemReaderHelper implements InitializingBean {
private SessionFactory sessionFactory;
diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateItemWriter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateItemWriter.java
index 4ca03a6cb..a42705328 100644
--- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateItemWriter.java
+++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernateItemWriter.java
@@ -43,8 +43,10 @@ import org.springframework.util.Assert;
* @author Thomas Risberg
* @author Michael Minella
* @author Mahmoud Ben Hassine
+ * @deprecated since 5.0 for removal in 5.2. Use the {@link JpaItemWriter} instead.
*
*/
+@Deprecated(since = "5.0", forRemoval = true)
public class HibernateItemWriter implements ItemWriter, InitializingBean {
protected static final Log logger = LogFactory.getLog(HibernateItemWriter.class);
diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernatePagingItemReader.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernatePagingItemReader.java
index 4ca8bed42..691259d77 100644
--- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernatePagingItemReader.java
+++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/HibernatePagingItemReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2006-2013 the original author or authors.
+ * Copyright 2006-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.
@@ -51,8 +51,11 @@ import org.springframework.util.ClassUtils;
*
*
* @author Dave Syer
+ * @author Mahmoud Ben Hassine
* @since 2.1
+ * @deprecated since 5.0 for removal in 5.2. Use the {@link JpaPagingItemReader} instead.
*/
+@Deprecated(since = "5.0", forRemoval = true)
public class HibernatePagingItemReader extends AbstractPagingItemReader implements InitializingBean {
private HibernateItemReaderHelper helper = new HibernateItemReaderHelper<>();
diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/builder/HibernateCursorItemReaderBuilder.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/builder/HibernateCursorItemReaderBuilder.java
index db0e5c692..864a6ad56 100644
--- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/builder/HibernateCursorItemReaderBuilder.java
+++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/builder/HibernateCursorItemReaderBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2017-2018 the original author or authors.
+ * 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.
@@ -40,7 +40,10 @@ import org.springframework.util.StringUtils;
* @author Mahmoud Ben Hassine
* @since 4.0
* @see HibernateCursorItemReader
+ * @deprecated since 5.0 for removal in 5.2. Use the {@link JpaCursorItemReaderBuilder}
+ * instead.
*/
+@Deprecated(since = "5.0", forRemoval = true)
public class HibernateCursorItemReaderBuilder {
private Map parameterValues;
diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/builder/HibernateItemWriterBuilder.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/builder/HibernateItemWriterBuilder.java
index cf15b899e..ab313ef3d 100644
--- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/builder/HibernateItemWriterBuilder.java
+++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/builder/HibernateItemWriterBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2017 the original author or authors.
+ * 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.
@@ -24,9 +24,12 @@ import org.springframework.util.Assert;
* A builder for the {@link HibernateItemWriter}
*
* @author Michael Minella
+ * @author Mahmoud Ben Hassine
* @since 4.0
* @see HibernateItemWriter
+ * @deprecated since 5.0 for removal in 5.2. Use the {@link JpaItemWriterBuilder} instead.
*/
+@Deprecated(since = "5.0", forRemoval = true)
public class HibernateItemWriterBuilder {
private boolean clearSession = true;
diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/builder/HibernatePagingItemReaderBuilder.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/builder/HibernatePagingItemReaderBuilder.java
index d22b8811b..8a9c20b84 100644
--- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/builder/HibernatePagingItemReaderBuilder.java
+++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/builder/HibernatePagingItemReaderBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2017-2021 the original author or authors.
+ * 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.
@@ -38,7 +38,10 @@ import org.springframework.util.StringUtils;
* @author Mahmoud Ben Hassine
* @since 4.0
* @see HibernatePagingItemReader
+ * @deprecated since 5.0 for removal in 5.2. Use the {@link JpaPagingItemReaderBuilder}
+ * instead.
*/
+@Deprecated(since = "5.0", forRemoval = true)
public class HibernatePagingItemReaderBuilder {
private int pageSize = 10;
diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/orm/AbstractHibernateQueryProvider.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/orm/AbstractHibernateQueryProvider.java
index 60cbcddbe..23332c065 100644
--- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/orm/AbstractHibernateQueryProvider.java
+++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/orm/AbstractHibernateQueryProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2006-2013 the original author or authors.
+ * Copyright 2006-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.
@@ -35,9 +35,11 @@ import org.hibernate.StatelessSession;
*
* @author Anatoly Polinsky
* @author Dave Syer
+ * @author Mahmoud Ben Hassine
* @since 2.1
*
*/
+@Deprecated(since = "5.0", forRemoval = true)
public abstract class AbstractHibernateQueryProvider implements HibernateQueryProvider {
private StatelessSession statelessSession;
diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/orm/HibernateNativeQueryProvider.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/orm/HibernateNativeQueryProvider.java
index 6218f9419..e02495d3a 100644
--- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/orm/HibernateNativeQueryProvider.java
+++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/orm/HibernateNativeQueryProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2006-2008 the original author or authors.
+ * Copyright 2006-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.
@@ -30,8 +30,12 @@ import org.springframework.util.StringUtils;
*
*
* @author Anatoly Polinsky
+ * @author Mahmoud Ben Hassine
* @param entity returned by executing the query
+ * @deprecated since 5.0 for removal in 5.2. Use the {@link JpaNativeQueryProvider}
+ * instead.
*/
+@Deprecated(since = "5.0", forRemoval = true)
public class HibernateNativeQueryProvider extends AbstractHibernateQueryProvider {
private String sqlQuery;
diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/orm/HibernateQueryProvider.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/orm/HibernateQueryProvider.java
index 13171081b..c51930bae 100644
--- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/orm/HibernateQueryProvider.java
+++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/orm/HibernateQueryProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2006-2008 the original author or authors.
+ * Copyright 2006-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.
@@ -29,9 +29,12 @@ import org.springframework.batch.item.ItemReader;
*
* @author Anatoly Polinsky
* @author Dave Syer
+ * @author Mahmoud Ben Hassine
* @since 2.1
+ * @deprecated since 5.0 for removal in 5.2. Use the {@link JpaQueryProvider} instead.
*
*/
+@Deprecated(since = "5.0", forRemoval = true)
public interface HibernateQueryProvider {
/**