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