diff --git a/persistence-modules/pom.xml b/persistence-modules/pom.xml
index 1af464eb4f0f..d8c26b09f4f6 100644
--- a/persistence-modules/pom.xml
+++ b/persistence-modules/pom.xml
@@ -130,7 +130,7 @@
spring-jdbc-2
spring-mybatis
-
+
spring-data-yugabytedb
fauna
spring-data-rest
@@ -146,6 +146,7 @@
hibernate-annotations-2
hibernate-reactive
spring-data-envers
+ spring-persistence-simple
diff --git a/persistence-modules/spring-data-jpa-simple/src/main/java/com/baeldung/jpa/simple/service/IFooService.java b/persistence-modules/spring-data-jpa-simple/src/main/java/com/baeldung/jpa/simple/service/IFooService.java
deleted file mode 100644
index f2950b81fbe9..000000000000
--- a/persistence-modules/spring-data-jpa-simple/src/main/java/com/baeldung/jpa/simple/service/IFooService.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.baeldung.jpa.simple.service;
-
-import com.baeldung.jpa.simple.model.Foo;
-
-public interface IFooService {
- Foo create(Foo foo);
-}
\ No newline at end of file
diff --git a/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/config/SpringJdbcConfig.java b/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/config/SpringJdbcConfig.java
new file mode 100644
index 000000000000..6178c49e818b
--- /dev/null
+++ b/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/config/SpringJdbcConfig.java
@@ -0,0 +1,36 @@
+package com.baeldung.spring.jdbc.template.config;
+
+import javax.sql.DataSource;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.jdbc.datasource.DriverManagerDataSource;
+import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
+import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
+
+@Configuration
+@ComponentScan("com.baeldung.spring.jdbc.template.guide")
+public class SpringJdbcConfig {
+
+ @Bean
+ public DataSource dataSource() {
+ return new EmbeddedDatabaseBuilder()
+ .setType(EmbeddedDatabaseType.H2)
+ .addScript("classpath:com/baeldung/spring/jdbc/template/guide/schema.sql")
+ .addScript("classpath:com/baeldung/spring/jdbc/template/guide/test-data.sql")
+ .build();
+ }
+
+ // @Bean
+ public DataSource mysqlDataSource() {
+ final DriverManagerDataSource dataSource = new DriverManagerDataSource();
+ dataSource.setDriverClassName("com.mysql.jdbc.Driver");
+ dataSource.setUrl("jdbc:mysql://localhost:3306/springjdbc");
+ dataSource.setUsername("guest_user");
+ dataSource.setPassword("guest_password");
+
+ return dataSource;
+ }
+
+}
\ No newline at end of file
diff --git a/persistence-modules/spring-persistence-simple/pom.xml b/persistence-modules/spring-persistence-simple/pom.xml
index 28f8e19b0570..93d9d1572591 100644
--- a/persistence-modules/spring-persistence-simple/pom.xml
+++ b/persistence-modules/spring-persistence-simple/pom.xml
@@ -9,101 +9,56 @@
com.baeldung
- persistence-modules
- 1.0.0-SNAPSHOT
+ parent-boot-3
+ 0.0.1-SNAPSHOT
+ ../../parent-boot-3
-
-
- org.springframework
- spring-orm
- ${org.springframework.version}
-
-
- org.springframework
- spring-context
- ${org.springframework.version}
-
-
-
- javax.persistence
- javax.persistence-api
- ${persistence-api.version}
-
-
- org.springframework.data
- spring-data-jpa
- ${spring-data-jpa.version}
-
-
-
- javax.transaction
- javax.transaction-api
- ${transaction-api.version}
-
-
- org.springframework
- spring-tx
- ${org.springframework.version}
-
org.springframework.boot
- spring-boot-starter
- ${spring-boot-starter.version}
-
-
- org.springframework.boot
- spring-boot-starter-jta-atomikos
- ${spring-boot-starter.version}
+ spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-starter-jdbc
- ${spring-boot-starter.version}
- org.hsqldb
- hsqldb
- ${hsqldb.version}
+ org.springframework
+ spring-webmvc
+ ${org.springframework.version}
com.h2database
h2
- ${h2.version}
- test
-
- com.github.h-thurow
- simple-jndi
- ${simple-jndi.version}
+ com.mysql
+ mysql-connector-j
+ runtime
-
org.springframework
- spring-test
+ spring-orm
${org.springframework.version}
- test
+
+
+ commons-logging
+ commons-logging
+
+
+
- org.springframework.boot
- spring-boot-starter-test
- test
- ${spring-boot-starter.version}
+ com.google.guava
+ guava
+ ${guava.version}
- 5.3.18
- 2.6.6
- 2.2
- 1.3
- 2.2.7.RELEASE
- 0.23.0
- 2.5.2
- 1.7.32
- 1.2.7
+ true
+ 6.0.6
diff --git a/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/guide/CustomSQLErrorCodeTranslator.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jdbc/template/guide/CustomSQLErrorCodeTranslator.java
similarity index 100%
rename from persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/guide/CustomSQLErrorCodeTranslator.java
rename to persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jdbc/template/guide/CustomSQLErrorCodeTranslator.java
diff --git a/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/guide/Employee.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jdbc/template/guide/Employee.java
similarity index 100%
rename from persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/guide/Employee.java
rename to persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jdbc/template/guide/Employee.java
diff --git a/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/guide/EmployeeDAO.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jdbc/template/guide/EmployeeDAO.java
similarity index 100%
rename from persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/guide/EmployeeDAO.java
rename to persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jdbc/template/guide/EmployeeDAO.java
diff --git a/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/guide/EmployeeRowMapper.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jdbc/template/guide/EmployeeRowMapper.java
similarity index 100%
rename from persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/guide/EmployeeRowMapper.java
rename to persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jdbc/template/guide/EmployeeRowMapper.java
diff --git a/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/guide/config/SpringJdbcConfig.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jdbc/template/guide/config/SpringJdbcConfig.java
similarity index 100%
rename from persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/guide/config/SpringJdbcConfig.java
rename to persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jdbc/template/guide/config/SpringJdbcConfig.java
diff --git a/persistence-modules/spring-jpa/src/main/java/com/baeldung/spring/jpa/guide/JpaGuideApp.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jpa/guide/JpaGuideApp.java
similarity index 99%
rename from persistence-modules/spring-jpa/src/main/java/com/baeldung/spring/jpa/guide/JpaGuideApp.java
rename to persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jpa/guide/JpaGuideApp.java
index fb565ec94cff..480e2bc9d957 100644
--- a/persistence-modules/spring-jpa/src/main/java/com/baeldung/spring/jpa/guide/JpaGuideApp.java
+++ b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jpa/guide/JpaGuideApp.java
@@ -1,12 +1,13 @@
package com.baeldung.spring.jpa.guide;
-import com.baeldung.spring.jpa.guide.model.Publishers;
-import com.baeldung.spring.jpa.guide.repository.PublisherRepository;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
+import com.baeldung.spring.jpa.guide.model.Publishers;
+import com.baeldung.spring.jpa.guide.repository.PublisherRepository;
+
@SpringBootApplication
public class JpaGuideApp {
diff --git a/persistence-modules/spring-jpa/src/main/java/com/baeldung/spring/jpa/guide/PersistenceJPAConfig.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jpa/guide/PersistenceJPAConfig.java
similarity index 99%
rename from persistence-modules/spring-jpa/src/main/java/com/baeldung/spring/jpa/guide/PersistenceJPAConfig.java
rename to persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jpa/guide/PersistenceJPAConfig.java
index 497d735c10ad..7b57989debfd 100644
--- a/persistence-modules/spring-jpa/src/main/java/com/baeldung/spring/jpa/guide/PersistenceJPAConfig.java
+++ b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jpa/guide/PersistenceJPAConfig.java
@@ -1,6 +1,9 @@
package com.baeldung.spring.jpa.guide;
-import com.google.common.base.Preconditions;
+import java.util.Properties;
+
+import javax.sql.DataSource;
+
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -15,8 +18,7 @@
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
-import javax.sql.DataSource;
-import java.util.Properties;
+import com.google.common.base.Preconditions;
@Configuration
@EnableTransactionManagement
diff --git a/persistence-modules/spring-jpa/src/main/java/com/baeldung/spring/jpa/guide/PublisherController.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jpa/guide/PublisherController.java
similarity index 100%
rename from persistence-modules/spring-jpa/src/main/java/com/baeldung/spring/jpa/guide/PublisherController.java
rename to persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jpa/guide/PublisherController.java
diff --git a/persistence-modules/spring-jpa/src/main/java/com/baeldung/spring/jpa/guide/model/Publishers.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jpa/guide/model/Publishers.java
similarity index 100%
rename from persistence-modules/spring-jpa/src/main/java/com/baeldung/spring/jpa/guide/model/Publishers.java
rename to persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jpa/guide/model/Publishers.java
diff --git a/persistence-modules/spring-jpa/src/main/java/com/baeldung/spring/jpa/guide/repository/PublisherRepository.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jpa/guide/repository/PublisherRepository.java
similarity index 99%
rename from persistence-modules/spring-jpa/src/main/java/com/baeldung/spring/jpa/guide/repository/PublisherRepository.java
rename to persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jpa/guide/repository/PublisherRepository.java
index 4aef83664553..d1e98b6b9b49 100644
--- a/persistence-modules/spring-jpa/src/main/java/com/baeldung/spring/jpa/guide/repository/PublisherRepository.java
+++ b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jpa/guide/repository/PublisherRepository.java
@@ -1,9 +1,11 @@
package com.baeldung.spring.jpa.guide.repository;
-import com.baeldung.spring.jpa.guide.model.Publishers;
+import java.util.List;
+
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
-import java.util.List;
+
+import com.baeldung.spring.jpa.guide.model.Publishers;
public interface PublisherRepository extends JpaRepository {
diff --git a/persistence-modules/spring-jpa/src/main/java/com/baeldung/spring/jpa/guide/service/PublisherService.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jpa/guide/service/PublisherService.java
similarity index 99%
rename from persistence-modules/spring-jpa/src/main/java/com/baeldung/spring/jpa/guide/service/PublisherService.java
rename to persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jpa/guide/service/PublisherService.java
index 5b7da30afa9c..d1aadf0b225e 100644
--- a/persistence-modules/spring-jpa/src/main/java/com/baeldung/spring/jpa/guide/service/PublisherService.java
+++ b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/jpa/guide/service/PublisherService.java
@@ -1,10 +1,11 @@
package com.baeldung.spring.jpa.guide.service;
-import com.baeldung.spring.jpa.guide.model.Publishers;
-import com.baeldung.spring.jpa.guide.repository.PublisherRepository;
+import java.util.List;
+
import org.springframework.stereotype.Service;
-import java.util.List;
+import com.baeldung.spring.jpa.guide.model.Publishers;
+import com.baeldung.spring.jpa.guide.repository.PublisherRepository;
@Service
public class PublisherService {
diff --git a/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/simple/JpaApplication.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/simple/JpaApplication.java
new file mode 100644
index 000000000000..b01bc2a65883
--- /dev/null
+++ b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/simple/JpaApplication.java
@@ -0,0 +1,16 @@
+package com.baeldung.spring.simple;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
+
+@SpringBootApplication
+@EnableJpaRepositories("com.baeldung.spring.simple.repository")
+public class JpaApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(JpaApplication.class, args);
+ }
+
+}
diff --git a/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/simple/config/PersistenceConfig.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/simple/config/PersistenceConfig.java
new file mode 100644
index 000000000000..4f60e0d12c7f
--- /dev/null
+++ b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/simple/config/PersistenceConfig.java
@@ -0,0 +1,75 @@
+package com.baeldung.spring.simple.config;
+
+import java.util.Properties;
+
+import javax.sql.DataSource;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.core.env.Environment;
+import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor;
+import org.springframework.jdbc.datasource.DriverManagerDataSource;
+import org.springframework.orm.jpa.JpaTransactionManager;
+import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
+import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
+import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+import com.google.common.base.Preconditions;
+
+@Configuration
+@PropertySource("classpath:persistence.properties")
+@EnableTransactionManagement
+//@ImportResource("classpath*:*springDataConfig.xml")
+public class PersistenceConfig {
+
+ @Autowired
+ private Environment env;
+
+ @Bean
+ public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
+ final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
+ em.setDataSource(dataSource());
+ em.setPackagesToScan("com.baeldung.spring.simple.model");
+
+ final HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
+ em.setJpaVendorAdapter(vendorAdapter);
+ em.setJpaProperties(additionalProperties());
+
+ return em;
+ }
+
+ @Bean
+ public DataSource dataSource() {
+ final DriverManagerDataSource dataSource = new DriverManagerDataSource();
+ dataSource.setDriverClassName(Preconditions.checkNotNull(env.getProperty("jdbc.driverClassName")));
+ dataSource.setUrl(Preconditions.checkNotNull(env.getProperty("jdbc.url")));
+ dataSource.setUsername(Preconditions.checkNotNull(env.getProperty("jdbc.user")));
+ dataSource.setPassword(Preconditions.checkNotNull(env.getProperty("jdbc.pass")));
+
+ return dataSource;
+ }
+
+ @Bean
+ public PlatformTransactionManager transactionManager() {
+ final JpaTransactionManager transactionManager = new JpaTransactionManager();
+ transactionManager.setEntityManagerFactory(entityManagerFactory().getObject());
+
+ return transactionManager;
+ }
+
+ @Bean
+ public PersistenceExceptionTranslationPostProcessor exceptionTranslation() {
+ return new PersistenceExceptionTranslationPostProcessor();
+ }
+
+ final Properties additionalProperties() {
+ final Properties hibernateProperties = new Properties();
+ hibernateProperties.setProperty("hibernate.hbm2ddl.auto", env.getProperty("hibernate.hbm2ddl.auto"));
+ hibernateProperties.setProperty("hibernate.dialect", env.getProperty("hibernate.dialect"));
+
+ return hibernateProperties;
+ }
+}
diff --git a/persistence-modules/spring-data-jpa-simple/src/main/java/com/baeldung/jpa/simple/model/Foo.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/simple/model/Foo.java
similarity index 97%
rename from persistence-modules/spring-data-jpa-simple/src/main/java/com/baeldung/jpa/simple/model/Foo.java
rename to persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/simple/model/Foo.java
index 5cabacf389b3..d5089cb66e5e 100644
--- a/persistence-modules/spring-data-jpa-simple/src/main/java/com/baeldung/jpa/simple/model/Foo.java
+++ b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/simple/model/Foo.java
@@ -1,4 +1,4 @@
-package com.baeldung.jpa.simple.model;
+package com.baeldung.spring.simple.model;
import java.io.Serializable;
diff --git a/persistence-modules/spring-data-jpa-simple/src/main/java/com/baeldung/jpa/simple/repository/IFooDAO.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/simple/repository/IFooDAO.java
similarity index 81%
rename from persistence-modules/spring-data-jpa-simple/src/main/java/com/baeldung/jpa/simple/repository/IFooDAO.java
rename to persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/simple/repository/IFooDAO.java
index 20123c73cd0e..73b7a420b272 100644
--- a/persistence-modules/spring-data-jpa-simple/src/main/java/com/baeldung/jpa/simple/repository/IFooDAO.java
+++ b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/simple/repository/IFooDAO.java
@@ -1,10 +1,10 @@
-package com.baeldung.jpa.simple.repository;
+package com.baeldung.spring.simple.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
-import com.baeldung.jpa.simple.model.Foo;
+import com.baeldung.spring.simple.model.Foo;
public interface IFooDAO extends JpaRepository {
diff --git a/persistence-modules/spring-data-jpa-simple/src/main/java/com/baeldung/jpa/simple/service/FooService.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/simple/service/FooService.java
similarity index 67%
rename from persistence-modules/spring-data-jpa-simple/src/main/java/com/baeldung/jpa/simple/service/FooService.java
rename to persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/simple/service/FooService.java
index 93d405c689fe..01c375f0de05 100644
--- a/persistence-modules/spring-data-jpa-simple/src/main/java/com/baeldung/jpa/simple/service/FooService.java
+++ b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/simple/service/FooService.java
@@ -1,10 +1,10 @@
-package com.baeldung.jpa.simple.service;
+package com.baeldung.spring.simple.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import com.baeldung.jpa.simple.model.Foo;
-import com.baeldung.jpa.simple.repository.IFooDAO;
+import com.baeldung.spring.simple.model.Foo;
+import com.baeldung.spring.simple.repository.IFooDAO;
@Service
public class FooService implements IFooService {
diff --git a/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/simple/service/IFooService.java b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/simple/service/IFooService.java
new file mode 100644
index 000000000000..09a8678f303e
--- /dev/null
+++ b/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/simple/service/IFooService.java
@@ -0,0 +1,7 @@
+package com.baeldung.spring.simple.service;
+
+import com.baeldung.spring.simple.model.Foo;
+
+public interface IFooService {
+ Foo create(Foo foo);
+}
\ No newline at end of file
diff --git a/persistence-modules/spring-jdbc/src/main/resources/com/baeldung/spring/jdbc/template/guide/application-h2.properties b/persistence-modules/spring-persistence-simple/src/main/resources/com/baeldung/spring/jdbc/template/guide/application-h2.properties
similarity index 100%
rename from persistence-modules/spring-jdbc/src/main/resources/com/baeldung/spring/jdbc/template/guide/application-h2.properties
rename to persistence-modules/spring-persistence-simple/src/main/resources/com/baeldung/spring/jdbc/template/guide/application-h2.properties
diff --git a/persistence-modules/spring-jdbc/src/main/resources/com/baeldung/spring/jdbc/template/guide/application-mysql.properties b/persistence-modules/spring-persistence-simple/src/main/resources/com/baeldung/spring/jdbc/template/guide/application-mysql.properties
similarity index 100%
rename from persistence-modules/spring-jdbc/src/main/resources/com/baeldung/spring/jdbc/template/guide/application-mysql.properties
rename to persistence-modules/spring-persistence-simple/src/main/resources/com/baeldung/spring/jdbc/template/guide/application-mysql.properties
diff --git a/persistence-modules/spring-jdbc/src/main/resources/com/baeldung/spring/jdbc/template/guide/application.properties b/persistence-modules/spring-persistence-simple/src/main/resources/com/baeldung/spring/jdbc/template/guide/application.properties
similarity index 100%
rename from persistence-modules/spring-jdbc/src/main/resources/com/baeldung/spring/jdbc/template/guide/application.properties
rename to persistence-modules/spring-persistence-simple/src/main/resources/com/baeldung/spring/jdbc/template/guide/application.properties
diff --git a/persistence-modules/spring-jdbc/src/main/resources/com/baeldung/spring/jdbc/template/guide/schema.sql b/persistence-modules/spring-persistence-simple/src/main/resources/com/baeldung/spring/jdbc/template/guide/schema.sql
similarity index 100%
rename from persistence-modules/spring-jdbc/src/main/resources/com/baeldung/spring/jdbc/template/guide/schema.sql
rename to persistence-modules/spring-persistence-simple/src/main/resources/com/baeldung/spring/jdbc/template/guide/schema.sql
diff --git a/persistence-modules/spring-jdbc/src/main/resources/com/baeldung/spring/jdbc/template/guide/test-data.sql b/persistence-modules/spring-persistence-simple/src/main/resources/com/baeldung/spring/jdbc/template/guide/test-data.sql
similarity index 100%
rename from persistence-modules/spring-jdbc/src/main/resources/com/baeldung/spring/jdbc/template/guide/test-data.sql
rename to persistence-modules/spring-persistence-simple/src/main/resources/com/baeldung/spring/jdbc/template/guide/test-data.sql
diff --git a/persistence-modules/spring-persistence-simple/src/main/resources/persistence.properties b/persistence-modules/spring-persistence-simple/src/main/resources/persistence.properties
new file mode 100644
index 000000000000..05cb7a13b955
--- /dev/null
+++ b/persistence-modules/spring-persistence-simple/src/main/resources/persistence.properties
@@ -0,0 +1,9 @@
+# jdbc.X
+jdbc.driverClassName=org.h2.Driver
+jdbc.url=jdbc:h2:mem:db;DB_CLOSE_DELAY=-1
+jdbc.user=sa
+jdbc.pass=sa
+
+# hibernate.X
+hibernate.hbm2ddl.auto=create-drop
+hibernate.dialect=org.hibernate.dialect.H2Dialect
diff --git a/persistence-modules/spring-persistence-simple/src/main/resources/springDataConfig.xml b/persistence-modules/spring-persistence-simple/src/main/resources/springDataConfig.xml
new file mode 100644
index 000000000000..5826fbb4eba1
--- /dev/null
+++ b/persistence-modules/spring-persistence-simple/src/main/resources/springDataConfig.xml
@@ -0,0 +1,11 @@
+
+
+
+
\ No newline at end of file
diff --git a/persistence-modules/spring-jdbc/src/test/java/com/baeldung/spring/jdbc/template/guide/EmployeeDAOIntegrationTest.java b/persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/spring/jdbc/template/guide/EmployeeDAOIntegrationTest.java
similarity index 100%
rename from persistence-modules/spring-jdbc/src/test/java/com/baeldung/spring/jdbc/template/guide/EmployeeDAOIntegrationTest.java
rename to persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/spring/jdbc/template/guide/EmployeeDAOIntegrationTest.java
diff --git a/persistence-modules/spring-jpa/src/test/java/com/baeldung/jpaguide/JpaGuideUnitTest.java b/persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/spring/jpaguide/JpaGuideUnitTest.java
similarity index 99%
rename from persistence-modules/spring-jpa/src/test/java/com/baeldung/jpaguide/JpaGuideUnitTest.java
rename to persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/spring/jpaguide/JpaGuideUnitTest.java
index 87312d599d92..d6478e1b4807 100644
--- a/persistence-modules/spring-jpa/src/test/java/com/baeldung/jpaguide/JpaGuideUnitTest.java
+++ b/persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/spring/jpaguide/JpaGuideUnitTest.java
@@ -1,24 +1,25 @@
-package com.baeldung.jpaguide;
-
-import com.baeldung.spring.jpa.guide.model.Publishers;
-import com.baeldung.spring.jpa.guide.repository.PublisherRepository;
-import com.baeldung.spring.jpa.guide.service.PublisherService;
-import org.junit.Test;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Optional;
+package com.baeldung.spring.jpaguide;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.anyString;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Optional;
+
+import org.junit.Test;
+
+import com.baeldung.spring.jpa.guide.model.Publishers;
+import com.baeldung.spring.jpa.guide.repository.PublisherRepository;
+import com.baeldung.spring.jpa.guide.service.PublisherService;
public class JpaGuideUnitTest {
diff --git a/persistence-modules/spring-data-jpa-simple/src/test/java/com/baeldung/jpa/simple/FooServiceIntegrationTest.java b/persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/spring/simple/FooServiceIntegrationTest.java
similarity index 85%
rename from persistence-modules/spring-data-jpa-simple/src/test/java/com/baeldung/jpa/simple/FooServiceIntegrationTest.java
rename to persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/spring/simple/FooServiceIntegrationTest.java
index d4a4c2a2f7b6..a6c749317363 100644
--- a/persistence-modules/spring-data-jpa-simple/src/test/java/com/baeldung/jpa/simple/FooServiceIntegrationTest.java
+++ b/persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/spring/simple/FooServiceIntegrationTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.jpa.simple;
+package com.baeldung.spring.simple;
import javax.sql.DataSource;
@@ -10,8 +10,8 @@
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
-import com.baeldung.jpa.simple.model.Foo;
-import com.baeldung.jpa.simple.service.IFooService;
+import com.baeldung.spring.simple.model.Foo;
+import com.baeldung.spring.simple.service.IFooService;
@RunWith(SpringRunner.class)
@ContextConfiguration(classes = { JpaApplication.class})
diff --git a/persistence-modules/spring-persistence-simple/src/test/resources/logback-test.xml b/persistence-modules/spring-persistence-simple/src/test/resources/logback-test.xml
index c95dd023be6d..8d4771e308ba 100644
--- a/persistence-modules/spring-persistence-simple/src/test/resources/logback-test.xml
+++ b/persistence-modules/spring-persistence-simple/src/test/resources/logback-test.xml
@@ -6,8 +6,6 @@
-
-
diff --git a/persistence-modules/spring-persistence-simple/.gitignore b/persistence-modules/spring-persistence/.gitignore
similarity index 100%
rename from persistence-modules/spring-persistence-simple/.gitignore
rename to persistence-modules/spring-persistence/.gitignore
diff --git a/persistence-modules/spring-persistence/pom.xml b/persistence-modules/spring-persistence/pom.xml
new file mode 100644
index 000000000000..b6ab533b779f
--- /dev/null
+++ b/persistence-modules/spring-persistence/pom.xml
@@ -0,0 +1,109 @@
+
+
+ 4.0.0
+ spring-persistence
+ 0.1-SNAPSHOT
+ spring-persistence
+
+
+ com.baeldung
+ persistence-modules
+ 1.0.0-SNAPSHOT
+
+
+
+
+
+ org.springframework
+ spring-orm
+ ${org.springframework.version}
+
+
+ org.springframework
+ spring-context
+ ${org.springframework.version}
+
+
+
+ javax.persistence
+ javax.persistence-api
+ ${persistence-api.version}
+
+
+ org.springframework.data
+ spring-data-jpa
+ ${spring-data-jpa.version}
+
+
+
+ javax.transaction
+ javax.transaction-api
+ ${transaction-api.version}
+
+
+ org.springframework
+ spring-tx
+ ${org.springframework.version}
+
+
+ org.springframework.boot
+ spring-boot-starter
+ ${spring-boot-starter.version}
+
+
+ org.springframework.boot
+ spring-boot-starter-jta-atomikos
+ ${spring-boot-starter.version}
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+ ${spring-boot-starter.version}
+
+
+ org.hsqldb
+ hsqldb
+ ${hsqldb.version}
+
+
+ com.h2database
+ h2
+ ${h2.version}
+ test
+
+
+
+ com.github.h-thurow
+ simple-jndi
+ ${simple-jndi.version}
+
+
+
+ org.springframework
+ spring-test
+ ${org.springframework.version}
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+ ${spring-boot-starter.version}
+
+
+
+
+ 5.3.18
+ 2.6.6
+ 2.2
+ 1.3
+ 2.2.7.RELEASE
+ 0.23.0
+ 2.5.2
+ 1.7.32
+ 1.2.7
+
+
+
diff --git a/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/jtademo/JtaDemoApplication.java b/persistence-modules/spring-persistence/src/main/java/com/baeldung/jtademo/JtaDemoApplication.java
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/jtademo/JtaDemoApplication.java
rename to persistence-modules/spring-persistence/src/main/java/com/baeldung/jtademo/JtaDemoApplication.java
diff --git a/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/jtademo/dto/TransferLog.java b/persistence-modules/spring-persistence/src/main/java/com/baeldung/jtademo/dto/TransferLog.java
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/jtademo/dto/TransferLog.java
rename to persistence-modules/spring-persistence/src/main/java/com/baeldung/jtademo/dto/TransferLog.java
diff --git a/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/jtademo/services/AuditService.java b/persistence-modules/spring-persistence/src/main/java/com/baeldung/jtademo/services/AuditService.java
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/jtademo/services/AuditService.java
rename to persistence-modules/spring-persistence/src/main/java/com/baeldung/jtademo/services/AuditService.java
diff --git a/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/jtademo/services/BankAccountService.java b/persistence-modules/spring-persistence/src/main/java/com/baeldung/jtademo/services/BankAccountService.java
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/jtademo/services/BankAccountService.java
rename to persistence-modules/spring-persistence/src/main/java/com/baeldung/jtademo/services/BankAccountService.java
diff --git a/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/jtademo/services/TellerService.java b/persistence-modules/spring-persistence/src/main/java/com/baeldung/jtademo/services/TellerService.java
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/jtademo/services/TellerService.java
rename to persistence-modules/spring-persistence/src/main/java/com/baeldung/jtademo/services/TellerService.java
diff --git a/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/jtademo/services/TestHelper.java b/persistence-modules/spring-persistence/src/main/java/com/baeldung/jtademo/services/TestHelper.java
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/jtademo/services/TestHelper.java
rename to persistence-modules/spring-persistence/src/main/java/com/baeldung/jtademo/services/TestHelper.java
diff --git a/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/transactional/Car.java b/persistence-modules/spring-persistence/src/main/java/com/baeldung/spring/transactional/Car.java
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/transactional/Car.java
rename to persistence-modules/spring-persistence/src/main/java/com/baeldung/spring/transactional/Car.java
diff --git a/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/transactional/CarRepository.java b/persistence-modules/spring-persistence/src/main/java/com/baeldung/spring/transactional/CarRepository.java
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/transactional/CarRepository.java
rename to persistence-modules/spring-persistence/src/main/java/com/baeldung/spring/transactional/CarRepository.java
diff --git a/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/transactional/CarService.java b/persistence-modules/spring-persistence/src/main/java/com/baeldung/spring/transactional/CarService.java
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/transactional/CarService.java
rename to persistence-modules/spring-persistence/src/main/java/com/baeldung/spring/transactional/CarService.java
diff --git a/persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/transactional/RentalService.java b/persistence-modules/spring-persistence/src/main/java/com/baeldung/spring/transactional/RentalService.java
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/main/java/com/baeldung/spring/transactional/RentalService.java
rename to persistence-modules/spring-persistence/src/main/java/com/baeldung/spring/transactional/RentalService.java
diff --git a/persistence-modules/spring-persistence-simple/src/main/resources/account.sql b/persistence-modules/spring-persistence/src/main/resources/account.sql
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/main/resources/account.sql
rename to persistence-modules/spring-persistence/src/main/resources/account.sql
diff --git a/persistence-modules/spring-persistence-simple/src/main/resources/application.properties b/persistence-modules/spring-persistence/src/main/resources/application.properties
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/main/resources/application.properties
rename to persistence-modules/spring-persistence/src/main/resources/application.properties
diff --git a/persistence-modules/spring-persistence-simple/src/main/resources/audit.sql b/persistence-modules/spring-persistence/src/main/resources/audit.sql
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/main/resources/audit.sql
rename to persistence-modules/spring-persistence/src/main/resources/audit.sql
diff --git a/persistence-modules/spring-persistence-simple/src/main/resources/com/baeldung/spring/jndi/datasource/mock/datasource.properties b/persistence-modules/spring-persistence/src/main/resources/com/baeldung/spring/jndi/datasource/mock/datasource.properties
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/main/resources/com/baeldung/spring/jndi/datasource/mock/datasource.properties
rename to persistence-modules/spring-persistence/src/main/resources/com/baeldung/spring/jndi/datasource/mock/datasource.properties
diff --git a/persistence-modules/spring-persistence-simple/src/main/resources/jndi.properties b/persistence-modules/spring-persistence/src/main/resources/jndi.properties
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/main/resources/jndi.properties
rename to persistence-modules/spring-persistence/src/main/resources/jndi.properties
diff --git a/persistence-modules/spring-persistence-simple/src/main/resources/logback.xml b/persistence-modules/spring-persistence/src/main/resources/logback.xml
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/main/resources/logback.xml
rename to persistence-modules/spring-persistence/src/main/resources/logback.xml
diff --git a/persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/jtademo/JtaDemoUnitTest.java b/persistence-modules/spring-persistence/src/test/java/com/baeldung/jtademo/JtaDemoUnitTest.java
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/jtademo/JtaDemoUnitTest.java
rename to persistence-modules/spring-persistence/src/test/java/com/baeldung/jtademo/JtaDemoUnitTest.java
diff --git a/persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/spring/jndi/datasource/mock/SimpleJNDIUnitTest.java b/persistence-modules/spring-persistence/src/test/java/com/baeldung/spring/jndi/datasource/mock/SimpleJNDIUnitTest.java
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/spring/jndi/datasource/mock/SimpleJNDIUnitTest.java
rename to persistence-modules/spring-persistence/src/test/java/com/baeldung/spring/jndi/datasource/mock/SimpleJNDIUnitTest.java
diff --git a/persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/spring/jndi/datasource/mock/SimpleNamingContextBuilderManualTest.java b/persistence-modules/spring-persistence/src/test/java/com/baeldung/spring/jndi/datasource/mock/SimpleNamingContextBuilderManualTest.java
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/spring/jndi/datasource/mock/SimpleNamingContextBuilderManualTest.java
rename to persistence-modules/spring-persistence/src/test/java/com/baeldung/spring/jndi/datasource/mock/SimpleNamingContextBuilderManualTest.java
diff --git a/persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/transactional/TransactionalDetectionUnitTest.java b/persistence-modules/spring-persistence/src/test/java/com/baeldung/transactional/TransactionalDetectionUnitTest.java
similarity index 100%
rename from persistence-modules/spring-persistence-simple/src/test/java/com/baeldung/transactional/TransactionalDetectionUnitTest.java
rename to persistence-modules/spring-persistence/src/test/java/com/baeldung/transactional/TransactionalDetectionUnitTest.java
diff --git a/persistence-modules/spring-persistence/src/test/resources/logback-test.xml b/persistence-modules/spring-persistence/src/test/resources/logback-test.xml
new file mode 100644
index 000000000000..c95dd023be6d
--- /dev/null
+++ b/persistence-modules/spring-persistence/src/test/resources/logback-test.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ [%d{ISO8601}]-[%thread] %-5level %logger - %msg%n
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index a2cf091e9c9b..732051f3a337 100644
--- a/pom.xml
+++ b/pom.xml
@@ -565,7 +565,7 @@
core-java-modules/core-java-datetime-conversion
libraries-data-io
persistence-modules/spring-data-neo4j
- persistence-modules/spring-persistence-simple
+ persistence-modules/spring-persistence
quarkus-modules/quarkus
quarkus-modules/quarkus-vs-springboot/quarkus-project
spring-di-2
@@ -1010,7 +1010,7 @@
core-java-modules/core-java-datetime-conversion
libraries-data-io
persistence-modules/spring-data-neo4j
- persistence-modules/spring-persistence-simple
+ persistence-modules/spring-persistence
quarkus-modules/quarkus
quarkus-modules/quarkus-vs-springboot/quarkus-project
spring-di-2