diff --git a/persistence-modules/spring-data-jpa/pom.xml b/persistence-modules/spring-data-jpa/pom.xml
index c512994931..a7788065c9 100644
--- a/persistence-modules/spring-data-jpa/pom.xml
+++ b/persistence-modules/spring-data-jpa/pom.xml
@@ -89,5 +89,9 @@
test
+
+
+ com.baeldung.boot.Application
+
\ No newline at end of file
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/Application.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/Application.java
similarity index 75%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/Application.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/Application.java
index 72d29d9fa5..1f078801e2 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/Application.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/Application.java
@@ -1,10 +1,11 @@
-package com.baeldung;
+package com.baeldung.boot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-import com.baeldung.dao.repositories.impl.ExtendedRepositoryImpl;
+import com.baeldung.boot.daos.impl.ExtendedRepositoryImpl;
+import com.baeldung.multipledb.MultipleDbApplication;
@SpringBootApplication
@EnableJpaRepositories(repositoryBaseClass = ExtendedRepositoryImpl.class)
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/config/PersistenceConfiguration.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/config/PersistenceConfiguration.java
new file mode 100644
index 0000000000..35a603d9f4
--- /dev/null
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/config/PersistenceConfiguration.java
@@ -0,0 +1,21 @@
+package com.baeldung.boot.config;
+
+import com.baeldung.boot.services.IBarService;
+import com.baeldung.boot.services.impl.BarSpringDataJpaService;
+import org.springframework.context.annotation.*;
+import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+@Configuration
+@Profile("!tc")
+@EnableTransactionManagement
+@EnableJpaAuditing
+public class PersistenceConfiguration {
+
+ @Bean
+ public IBarService barSpringDataJpaService() {
+ return new BarSpringDataJpaService();
+ }
+
+}
\ No newline at end of file
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/ArticleRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/ArticleRepository.java
similarity index 90%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/ArticleRepository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/ArticleRepository.java
index 8402c099d9..73397ad42e 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/ArticleRepository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/ArticleRepository.java
@@ -1,10 +1,11 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
-import com.baeldung.domain.Article;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
+import com.baeldung.boot.domain.Article;
+
import java.util.Date;
import java.util.List;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/CustomItemRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/CustomItemRepository.java
similarity index 74%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/CustomItemRepository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/CustomItemRepository.java
index f5b94e507c..0aebe34921 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/CustomItemRepository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/CustomItemRepository.java
@@ -1,8 +1,8 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
import org.springframework.stereotype.Repository;
-import com.baeldung.domain.Item;
+import com.baeldung.boot.domain.Item;
@Repository
public interface CustomItemRepository {
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/CustomItemTypeRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/CustomItemTypeRepository.java
similarity index 71%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/CustomItemTypeRepository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/CustomItemTypeRepository.java
index 81ebdf3fda..832d61408c 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/CustomItemTypeRepository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/CustomItemTypeRepository.java
@@ -1,8 +1,8 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
import org.springframework.stereotype.Repository;
-import com.baeldung.domain.ItemType;
+import com.baeldung.boot.domain.ItemType;
@Repository
public interface CustomItemTypeRepository {
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/batchinserts/repository/CustomerRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/CustomerRepository.java
similarity index 68%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/batchinserts/repository/CustomerRepository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/CustomerRepository.java
index ab0214bade..2f1af6ac55 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/batchinserts/repository/CustomerRepository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/CustomerRepository.java
@@ -1,8 +1,8 @@
-package com.baeldung.batchinserts.repository;
+package com.baeldung.boot.daos;
import org.springframework.data.repository.CrudRepository;
-import com.baeldung.batchinserts.model.Customer;
+import com.baeldung.boot.domain.Customer;
/**
* JPA CrudRepository interface
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/ExtendedRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/ExtendedRepository.java
similarity index 90%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/ExtendedRepository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/ExtendedRepository.java
index 9e82f02fa6..adb2af4320 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/ExtendedRepository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/ExtendedRepository.java
@@ -1,4 +1,4 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
import java.io.Serializable;
import java.util.List;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/ExtendedStudentRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/ExtendedStudentRepository.java
similarity index 54%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/ExtendedStudentRepository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/ExtendedStudentRepository.java
index 199e4e5ff6..c9b0192536 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/ExtendedStudentRepository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/ExtendedStudentRepository.java
@@ -1,6 +1,6 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
-import com.baeldung.domain.Student;
+import com.baeldung.boot.domain.Student;
public interface ExtendedStudentRepository extends ExtendedRepository {
}
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/IBarCrudRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/IBarCrudRepository.java
similarity index 71%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/IBarCrudRepository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/IBarCrudRepository.java
index 54a7d77691..921fabe3fb 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/IBarCrudRepository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/IBarCrudRepository.java
@@ -1,8 +1,9 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
-import com.baeldung.domain.Bar;
import org.springframework.data.repository.CrudRepository;
+import com.baeldung.boot.domain.Bar;
+
import java.io.Serializable;
public interface IBarCrudRepository extends CrudRepository {
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/IFooDao.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/IFooDao.java
similarity index 83%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/IFooDao.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/IFooDao.java
index bb3c229945..d537772076 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/IFooDao.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/IFooDao.java
@@ -1,10 +1,11 @@
-package com.baeldung.dao;
+package com.baeldung.boot.daos;
-import com.baeldung.domain.Foo;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
+import com.baeldung.boot.domain.Foo;
+
public interface IFooDao extends JpaRepository {
@Query("SELECT f FROM Foo f WHERE LOWER(f.name) = LOWER(:name)")
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/InventoryRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/InventoryRepository.java
similarity index 63%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/InventoryRepository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/InventoryRepository.java
index a575f0b915..606f3993d5 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/InventoryRepository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/InventoryRepository.java
@@ -1,7 +1,8 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
-import com.baeldung.domain.MerchandiseEntity;
import org.springframework.data.repository.CrudRepository;
+import com.baeldung.boot.domain.MerchandiseEntity;
+
public interface InventoryRepository extends CrudRepository {
}
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/ItemTypeRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/ItemTypeRepository.java
similarity index 76%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/ItemTypeRepository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/ItemTypeRepository.java
index 2af83bc322..413c09e968 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/ItemTypeRepository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/ItemTypeRepository.java
@@ -1,9 +1,9 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
-import com.baeldung.domain.ItemType;
+import com.baeldung.boot.domain.ItemType;
@Repository
public interface ItemTypeRepository extends JpaRepository, CustomItemTypeRepository, CustomItemRepository {
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/LocationRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/LocationRepository.java
similarity index 72%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/LocationRepository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/LocationRepository.java
index 27bbe27af0..697ce295d0 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/LocationRepository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/LocationRepository.java
@@ -1,9 +1,9 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
-import com.baeldung.domain.Location;
+import com.baeldung.boot.domain.Location;
@Repository
public interface LocationRepository extends JpaRepository {
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/ReadOnlyLocationRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/ReadOnlyLocationRepository.java
similarity index 79%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/ReadOnlyLocationRepository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/ReadOnlyLocationRepository.java
index 8f68cdbbe5..3a2ea3cda5 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/ReadOnlyLocationRepository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/ReadOnlyLocationRepository.java
@@ -1,10 +1,10 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
import java.util.Optional;
import org.springframework.data.repository.Repository;
-import com.baeldung.domain.Location;
+import com.baeldung.boot.domain.Location;
@org.springframework.stereotype.Repository
public interface ReadOnlyLocationRepository extends Repository {
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/StoreRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/StoreRepository.java
similarity index 79%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/StoreRepository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/StoreRepository.java
index 9318c32ee9..ae13f75f66 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/StoreRepository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/StoreRepository.java
@@ -1,11 +1,11 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
-import com.baeldung.domain.Store;
+import com.baeldung.boot.domain.Store;
@Repository
public interface StoreRepository extends JpaRepository {
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/impl/CustomItemRepositoryImpl.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/impl/CustomItemRepositoryImpl.java
similarity index 83%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/impl/CustomItemRepositoryImpl.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/impl/CustomItemRepositoryImpl.java
index 5538448c49..820a2cdd41 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/impl/CustomItemRepositoryImpl.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/impl/CustomItemRepositoryImpl.java
@@ -1,12 +1,12 @@
-package com.baeldung.dao.repositories.impl;
+package com.baeldung.boot.daos.impl;
import javax.persistence.EntityManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
-import com.baeldung.dao.repositories.CustomItemRepository;
-import com.baeldung.domain.Item;
+import com.baeldung.boot.daos.CustomItemRepository;
+import com.baeldung.boot.domain.Item;
@Repository
public class CustomItemRepositoryImpl implements CustomItemRepository {
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/impl/CustomItemTypeRepositoryImpl.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/impl/CustomItemTypeRepositoryImpl.java
similarity index 84%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/impl/CustomItemTypeRepositoryImpl.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/impl/CustomItemTypeRepositoryImpl.java
index 2b49f2380c..d7cba7c2c6 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/impl/CustomItemTypeRepositoryImpl.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/impl/CustomItemTypeRepositoryImpl.java
@@ -1,4 +1,4 @@
-package com.baeldung.dao.repositories.impl;
+package com.baeldung.boot.daos.impl;
import javax.persistence.EntityManager;
@@ -7,8 +7,8 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
-import com.baeldung.domain.ItemType;
-import com.baeldung.dao.repositories.CustomItemTypeRepository;
+import com.baeldung.boot.daos.CustomItemTypeRepository;
+import com.baeldung.boot.domain.ItemType;
@Repository
public class CustomItemTypeRepositoryImpl implements CustomItemTypeRepository {
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/impl/ExtendedRepositoryImpl.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/impl/ExtendedRepositoryImpl.java
similarity index 93%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/impl/ExtendedRepositoryImpl.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/impl/ExtendedRepositoryImpl.java
index f6f06efb51..fbe6695844 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/impl/ExtendedRepositoryImpl.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/impl/ExtendedRepositoryImpl.java
@@ -1,4 +1,4 @@
-package com.baeldung.dao.repositories.impl;
+package com.baeldung.boot.daos.impl;
import java.io.Serializable;
import java.util.List;
@@ -10,10 +10,11 @@ import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import javax.transaction.Transactional;
-import com.baeldung.dao.repositories.ExtendedRepository;
import org.springframework.data.jpa.repository.support.JpaEntityInformation;
import org.springframework.data.jpa.repository.support.SimpleJpaRepository;
+import com.baeldung.boot.daos.ExtendedRepository;
+
public class ExtendedRepositoryImpl extends SimpleJpaRepository implements ExtendedRepository {
private EntityManager entityManager;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/impl/PersonInsertRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/impl/PersonInsertRepository.java
similarity index 90%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/impl/PersonInsertRepository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/impl/PersonInsertRepository.java
index d809385456..373532e1c3 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/impl/PersonInsertRepository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/impl/PersonInsertRepository.java
@@ -1,8 +1,9 @@
-package com.baeldung.dao.repositories.impl;
+package com.baeldung.boot.daos.impl;
-import com.baeldung.domain.Person;
import org.springframework.stereotype.Repository;
+import com.baeldung.boot.domain.Person;
+
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.transaction.Transactional;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/user/PossessionRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/user/PossessionRepository.java
similarity index 62%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/user/PossessionRepository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/user/PossessionRepository.java
index f0eeb475c1..e102754c18 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/user/PossessionRepository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/user/PossessionRepository.java
@@ -1,8 +1,9 @@
-package com.baeldung.dao.repositories.user;
+package com.baeldung.boot.daos.user;
-import com.baeldung.domain.user.Possession;
import org.springframework.data.jpa.repository.JpaRepository;
+import com.baeldung.boot.domain.Possession;
+
public interface PossessionRepository extends JpaRepository {
}
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/user/UserRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/user/UserRepository.java
similarity index 92%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/user/UserRepository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/user/UserRepository.java
index 1d05a17414..d6a060740d 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/user/UserRepository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/user/UserRepository.java
@@ -1,6 +1,5 @@
-package com.baeldung.dao.repositories.user;
+package com.baeldung.boot.daos.user;
-import com.baeldung.domain.user.User;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
@@ -9,6 +8,8 @@ import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
+import com.baeldung.boot.domain.User;
+
import java.time.LocalDate;
import java.util.Collection;
import java.util.List;
@@ -18,11 +19,11 @@ public interface UserRepository extends JpaRepository , UserRepos
Stream findAllByName(String name);
- @Query("select u from User u where u.email like '%@gmail.com'")
- List findUsersWithGmailAddress();
-
@Query("SELECT u FROM User u WHERE u.status = 1")
Collection findAllActiveUsers();
+
+ @Query("select u from User u where u.email like '%@gmail.com'")
+ List findUsersWithGmailAddress();
@Query(value = "SELECT * FROM Users u WHERE u.status = 1", nativeQuery = true)
Collection findAllActiveUsersNative();
@@ -74,14 +75,14 @@ public interface UserRepository extends JpaRepository , UserRepos
@Query(value = "INSERT INTO Users (name, age, email, status, active) VALUES (:name, :age, :email, :status, :active)", nativeQuery = true)
@Modifying
void insertUser(@Param("name") String name, @Param("age") Integer age, @Param("email") String email, @Param("status") Integer status, @Param("active") boolean active);
-
+
@Modifying
@Query(value = "UPDATE Users u SET status = ? WHERE u.name = ?", nativeQuery = true)
int updateUserSetStatusForNameNativePostgres(Integer status, String name);
-
+
@Query(value = "SELECT u FROM User u WHERE u.name IN :names")
- List findUserByNameList(@Param("names") Collection names);
-
+ List findUserByNameList(@Param("names") Collection names);
+
void deleteAllByCreationDateAfter(LocalDate date);
@Modifying(clearAutomatically = true, flushAutomatically = true)
@@ -89,11 +90,10 @@ public interface UserRepository extends JpaRepository , UserRepos
void deactivateUsersNotLoggedInSince(@Param("date") LocalDate date);
@Modifying(clearAutomatically = true, flushAutomatically = true)
- @Query("delete from User u where u.active = false")
+ @Query("delete User u where u.active = false")
int deleteDeactivatedUsers();
@Modifying(clearAutomatically = true, flushAutomatically = true)
- @Query(value = "alter table Users add column deleted int(1) not null default 0", nativeQuery = true)
+ @Query(value = "alter table USERS.USERS add column deleted int(1) not null default 0", nativeQuery = true)
void addDeletedColumn();
-
}
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/user/UserRepositoryCustom.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/user/UserRepositoryCustom.java
similarity index 77%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/user/UserRepositoryCustom.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/user/UserRepositoryCustom.java
index 0f29cd656e..c586b54027 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/user/UserRepositoryCustom.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/user/UserRepositoryCustom.java
@@ -1,14 +1,14 @@
-package com.baeldung.dao.repositories.user;
+package com.baeldung.boot.daos.user;
import java.util.Collection;
import java.util.List;
import java.util.Set;
import java.util.function.Predicate;
-import com.baeldung.domain.user.User;
+import com.baeldung.boot.domain.User;
public interface UserRepositoryCustom {
List findUserByEmails(Set emails);
-
+
List findAllUsersByPredicates(Collection> predicates);
}
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/user/UserRepositoryCustomImpl.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/user/UserRepositoryCustomImpl.java
similarity index 95%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/user/UserRepositoryCustomImpl.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/user/UserRepositoryCustomImpl.java
index 7b2a7ab123..63a743b6b5 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/user/UserRepositoryCustomImpl.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/daos/user/UserRepositoryCustomImpl.java
@@ -1,4 +1,4 @@
-package com.baeldung.dao.repositories.user;
+package com.baeldung.boot.daos.user;
import java.util.ArrayList;
import java.util.Collection;
@@ -15,7 +15,7 @@ import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
-import com.baeldung.domain.user.User;
+import com.baeldung.boot.domain.User;
public class UserRepositoryCustomImpl implements UserRepositoryCustom {
@@ -42,7 +42,7 @@ public class UserRepositoryCustomImpl implements UserRepositoryCustom {
return entityManager.createQuery(query)
.getResultList();
}
-
+
@Override
public List findAllUsersByPredicates(Collection> predicates) {
List allUsers = entityManager.createQuery("select u from User u", User.class).getResultList();
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/Aggregate.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/Aggregate.java
similarity index 95%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/Aggregate.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/Aggregate.java
index bf6ff0a0b9..e435f4c85c 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/Aggregate.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/Aggregate.java
@@ -1,7 +1,7 @@
/**
*
*/
-package com.baeldung.ddd.event;
+package com.baeldung.boot.ddd.event;
import javax.persistence.Entity;
import javax.persistence.Id;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/Aggregate2.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/Aggregate2.java
similarity index 95%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/Aggregate2.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/Aggregate2.java
index 3d2816299a..08f61db812 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/Aggregate2.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/Aggregate2.java
@@ -1,7 +1,7 @@
/**
*
*/
-package com.baeldung.ddd.event;
+package com.baeldung.boot.ddd.event;
import java.util.ArrayList;
import java.util.Collection;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/Aggregate2Repository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/Aggregate2Repository.java
similarity index 80%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/Aggregate2Repository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/Aggregate2Repository.java
index 2a95abe347..7f09c410fc 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/Aggregate2Repository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/Aggregate2Repository.java
@@ -1,7 +1,7 @@
/**
*
*/
-package com.baeldung.ddd.event;
+package com.baeldung.boot.ddd.event;
import org.springframework.data.repository.CrudRepository;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/Aggregate3.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/Aggregate3.java
similarity index 91%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/Aggregate3.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/Aggregate3.java
index e0c3131b06..f664322a59 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/Aggregate3.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/Aggregate3.java
@@ -1,7 +1,7 @@
/**
*
*/
-package com.baeldung.ddd.event;
+package com.baeldung.boot.ddd.event;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/Aggregate3Repository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/Aggregate3Repository.java
similarity index 83%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/Aggregate3Repository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/Aggregate3Repository.java
index e442bdb210..93f50bb5cf 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/Aggregate3Repository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/Aggregate3Repository.java
@@ -1,7 +1,7 @@
/**
*
*/
-package com.baeldung.ddd.event;
+package com.baeldung.boot.ddd.event;
import org.springframework.data.repository.CrudRepository;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/AggregateRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/AggregateRepository.java
similarity index 80%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/AggregateRepository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/AggregateRepository.java
index 5a15156d03..1c2d3884bf 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/AggregateRepository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/AggregateRepository.java
@@ -1,7 +1,7 @@
/**
*
*/
-package com.baeldung.ddd.event;
+package com.baeldung.boot.ddd.event;
import org.springframework.data.repository.CrudRepository;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/DddConfig.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/DddConfig.java
similarity index 89%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/DddConfig.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/DddConfig.java
index 1315b11875..34cf21463b 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/DddConfig.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/DddConfig.java
@@ -1,7 +1,7 @@
/**
*
*/
-package com.baeldung.ddd.event;
+package com.baeldung.boot.ddd.event;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/DomainEvent.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/DomainEvent.java
new file mode 100644
index 0000000000..e7626e742d
--- /dev/null
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/DomainEvent.java
@@ -0,0 +1,8 @@
+/**
+ *
+ */
+package com.baeldung.boot.ddd.event;
+
+class DomainEvent {
+
+}
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/DomainService.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/DomainService.java
similarity index 95%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/DomainService.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/DomainService.java
index 082c9bd88e..80aa5ca6cb 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/DomainService.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/ddd/event/DomainService.java
@@ -1,7 +1,7 @@
/**
*
*/
-package com.baeldung.ddd.event;
+package com.baeldung.boot.ddd.event;
import javax.transaction.Transactional;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Article.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Article.java
similarity index 92%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Article.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Article.java
index 3b5a8be088..de4dbed1a0 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Article.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Article.java
@@ -1,4 +1,4 @@
-package com.baeldung.domain;
+package com.baeldung.boot.domain;
import javax.persistence.*;
import java.util.Date;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Bar.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Bar.java
similarity index 99%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Bar.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Bar.java
index efd297bafc..35d1903801 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Bar.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Bar.java
@@ -1,4 +1,4 @@
-package com.baeldung.domain;
+package com.baeldung.boot.domain;
import com.google.common.collect.Sets;
import org.hibernate.annotations.OrderBy;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/batchinserts/model/Customer.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Customer.java
similarity index 96%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/batchinserts/model/Customer.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Customer.java
index 4d82cf12a2..af88be0be6 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/batchinserts/model/Customer.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Customer.java
@@ -1,4 +1,4 @@
-package com.baeldung.batchinserts.model;
+package com.baeldung.boot.domain;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Foo.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Foo.java
similarity index 98%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Foo.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Foo.java
index ef88840746..5030e5600b 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Foo.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Foo.java
@@ -1,4 +1,4 @@
-package com.baeldung.domain;
+package com.baeldung.boot.domain;
import org.hibernate.envers.Audited;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Item.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Item.java
similarity index 97%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Item.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Item.java
index 1e58fb25ba..8ac06af15a 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Item.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Item.java
@@ -1,4 +1,4 @@
-package com.baeldung.domain;
+package com.baeldung.boot.domain;
import java.math.BigDecimal;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/ItemType.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/ItemType.java
similarity index 96%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/ItemType.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/ItemType.java
index b0349e0471..8a52a9847c 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/ItemType.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/ItemType.java
@@ -1,4 +1,4 @@
-package com.baeldung.domain;
+package com.baeldung.boot.domain;
import java.util.ArrayList;
import java.util.List;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/KVTag.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/KVTag.java
similarity index 94%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/KVTag.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/KVTag.java
index b3e7d78b30..1901f43c0a 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/KVTag.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/KVTag.java
@@ -1,4 +1,4 @@
-package com.baeldung.domain;
+package com.baeldung.boot.domain;
import javax.persistence.Embeddable;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Location.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Location.java
similarity index 96%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Location.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Location.java
index 4ca7295986..9c1b93d551 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Location.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Location.java
@@ -1,4 +1,4 @@
-package com.baeldung.domain;
+package com.baeldung.boot.domain;
import java.util.ArrayList;
import java.util.List;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/MerchandiseEntity.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/MerchandiseEntity.java
similarity index 97%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/MerchandiseEntity.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/MerchandiseEntity.java
index bfc690e0e2..e94c23de86 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/MerchandiseEntity.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/MerchandiseEntity.java
@@ -1,4 +1,4 @@
-package com.baeldung.domain;
+package com.baeldung.boot.domain;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Person.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Person.java
similarity index 95%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Person.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Person.java
index 30d7370982..88894ccc72 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Person.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Person.java
@@ -1,4 +1,4 @@
-package com.baeldung.domain;
+package com.baeldung.boot.domain;
import javax.persistence.Entity;
import javax.persistence.Id;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/user/Possession.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Possession.java
similarity index 95%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/user/Possession.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Possession.java
index b1427c0270..f13491ad82 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/user/Possession.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Possession.java
@@ -1,6 +1,7 @@
-package com.baeldung.domain.user;
+package com.baeldung.boot.domain;
import javax.persistence.*;
+import com.baeldung.boot.domain.Possession;
@Entity
@Table
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/SkillTag.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/SkillTag.java
similarity index 93%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/SkillTag.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/SkillTag.java
index 1f2778c589..0933a3e6af 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/SkillTag.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/SkillTag.java
@@ -1,4 +1,4 @@
-package com.baeldung.domain;
+package com.baeldung.boot.domain;
import javax.persistence.Embeddable;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Store.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Store.java
similarity index 97%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Store.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Store.java
index 4172051c71..5b4b831cc7 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Store.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Store.java
@@ -1,4 +1,4 @@
-package com.baeldung.domain;
+package com.baeldung.boot.domain;
import java.util.ArrayList;
import java.util.List;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Student.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Student.java
similarity index 97%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Student.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Student.java
index bd7eaeb24b..1003167cc7 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/Student.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/Student.java
@@ -1,4 +1,4 @@
-package com.baeldung.domain;
+package com.baeldung.boot.domain;
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/user/User.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/User.java
similarity index 96%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/user/User.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/User.java
index 7109271eeb..cca00e52a2 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/user/User.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/domain/User.java
@@ -1,6 +1,7 @@
-package com.baeldung.domain.user;
+package com.baeldung.boot.domain;
import javax.persistence.*;
+
import java.time.LocalDate;
import java.util.List;
import java.util.Objects;
@@ -27,7 +28,7 @@ public class User {
super();
}
- public User(String name, LocalDate creationDate, String email, Integer status) {
+ public User(String name, LocalDate creationDate,String email, Integer status) {
this.name = name;
this.creationDate = creationDate;
this.email = email;
@@ -51,10 +52,6 @@ public class User {
this.name = name;
}
- public LocalDate getCreationDate() {
- return creationDate;
- }
-
public String getEmail() {
return email;
}
@@ -78,6 +75,10 @@ public class User {
public void setAge(final int age) {
this.age = age;
}
+
+ public LocalDate getCreationDate() {
+ return creationDate;
+ }
public List getPossessionList() {
return possessionList;
@@ -93,7 +94,7 @@ public class User {
builder.append("User [name=").append(name).append(", id=").append(id).append("]");
return builder.toString();
}
-
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
@@ -127,4 +128,5 @@ public class User {
public void setActive(boolean active) {
this.active = active;
}
+
}
\ No newline at end of file
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/passenger/CustomPassengerRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/passenger/CustomPassengerRepository.java
similarity index 77%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/passenger/CustomPassengerRepository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/passenger/CustomPassengerRepository.java
index 7ae44bfbda..7152286c83 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/passenger/CustomPassengerRepository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/passenger/CustomPassengerRepository.java
@@ -1,4 +1,4 @@
-package com.baeldung.passenger;
+package com.baeldung.boot.passenger;
import java.util.List;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/passenger/Passenger.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/passenger/Passenger.java
similarity index 98%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/passenger/Passenger.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/passenger/Passenger.java
index a96b1edb20..c75107a783 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/passenger/Passenger.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/passenger/Passenger.java
@@ -1,4 +1,4 @@
-package com.baeldung.passenger;
+package com.baeldung.boot.passenger;
import javax.persistence.Basic;
import javax.persistence.Column;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/passenger/PassengerRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/passenger/PassengerRepository.java
similarity index 94%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/passenger/PassengerRepository.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/passenger/PassengerRepository.java
index 6c6c145942..cdb8cc98fb 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/passenger/PassengerRepository.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/passenger/PassengerRepository.java
@@ -1,4 +1,4 @@
-package com.baeldung.passenger;
+package com.baeldung.boot.passenger;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.repository.JpaRepository;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/passenger/PassengerRepositoryImpl.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/passenger/PassengerRepositoryImpl.java
similarity index 93%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/passenger/PassengerRepositoryImpl.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/passenger/PassengerRepositoryImpl.java
index bd6e535e3e..508c669066 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/passenger/PassengerRepositoryImpl.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/passenger/PassengerRepositoryImpl.java
@@ -1,4 +1,4 @@
-package com.baeldung.passenger;
+package com.baeldung.boot.passenger;
import org.springframework.stereotype.Repository;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/IBarService.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/IBarService.java
new file mode 100644
index 0000000000..8054cbba59
--- /dev/null
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/IBarService.java
@@ -0,0 +1,7 @@
+package com.baeldung.boot.services;
+
+import com.baeldung.boot.domain.Bar;
+
+public interface IBarService extends IOperations {
+ //
+}
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/IFooService.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/IFooService.java
similarity index 76%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/IFooService.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/IFooService.java
index 7e16ace5b6..871cccdd45 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/IFooService.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/IFooService.java
@@ -1,9 +1,10 @@
-package com.baeldung.services;
+package com.baeldung.boot.services;
-import com.baeldung.domain.Foo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
+import com.baeldung.boot.domain.Foo;
+
public interface IFooService extends IOperations {
Foo retrieveByName(String name);
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/IOperations.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/IOperations.java
similarity index 92%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/IOperations.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/IOperations.java
index d50d465639..ec2b866b6f 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/IOperations.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/IOperations.java
@@ -1,4 +1,4 @@
-package com.baeldung.services;
+package com.baeldung.boot.services;
import org.springframework.data.domain.Page;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/impl/AbstractService.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/impl/AbstractService.java
similarity index 94%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/impl/AbstractService.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/impl/AbstractService.java
index 708524225b..8e4f643adc 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/impl/AbstractService.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/impl/AbstractService.java
@@ -1,6 +1,6 @@
-package com.baeldung.services.impl;
+package com.baeldung.boot.services.impl;
-import com.baeldung.services.IOperations;
+import com.baeldung.boot.services.IOperations;
import com.google.common.collect.Lists;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/impl/AbstractSpringDataJpaService.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/impl/AbstractSpringDataJpaService.java
similarity index 92%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/impl/AbstractSpringDataJpaService.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/impl/AbstractSpringDataJpaService.java
index 28c86bee28..a73a6bd7fc 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/impl/AbstractSpringDataJpaService.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/impl/AbstractSpringDataJpaService.java
@@ -1,6 +1,6 @@
-package com.baeldung.services.impl;
+package com.baeldung.boot.services.impl;
-import com.baeldung.services.IOperations;
+import com.baeldung.boot.services.IOperations;
import com.google.common.collect.Lists;
import org.springframework.data.repository.CrudRepository;
import org.springframework.transaction.annotation.Transactional;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/impl/BarSpringDataJpaService.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/impl/BarSpringDataJpaService.java
similarity index 79%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/impl/BarSpringDataJpaService.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/impl/BarSpringDataJpaService.java
index ca3e5f868d..80568f2fd4 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/impl/BarSpringDataJpaService.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/impl/BarSpringDataJpaService.java
@@ -1,8 +1,9 @@
-package com.baeldung.services.impl;
+package com.baeldung.boot.services.impl;
+
+import com.baeldung.boot.daos.IBarCrudRepository;
+import com.baeldung.boot.domain.Bar;
+import com.baeldung.boot.services.IBarService;
-import com.baeldung.domain.Bar;
-import com.baeldung.dao.repositories.IBarCrudRepository;
-import com.baeldung.services.IBarService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.repository.CrudRepository;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/impl/FooService.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/impl/FooService.java
similarity index 87%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/impl/FooService.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/impl/FooService.java
index 319ab3a825..04eec63854 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/impl/FooService.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/services/impl/FooService.java
@@ -1,9 +1,10 @@
-package com.baeldung.services.impl;
+package com.baeldung.boot.services.impl;
import com.google.common.collect.Lists;
-import com.baeldung.dao.IFooDao;
-import com.baeldung.domain.Foo;
-import com.baeldung.services.IFooService;
+import com.baeldung.boot.daos.IFooDao;
+import com.baeldung.boot.domain.Foo;
+import com.baeldung.boot.services.IFooService;
+
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/batchinserts/CustomerController.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/web/controllers/CustomerController.java
similarity index 88%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/batchinserts/CustomerController.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/web/controllers/CustomerController.java
index 7623d4d166..69a1e5507e 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/batchinserts/CustomerController.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/boot/web/controllers/CustomerController.java
@@ -1,4 +1,4 @@
-package com.baeldung.batchinserts;
+package com.baeldung.boot.web.controllers;
import java.net.URISyntaxException;
import java.util.Arrays;
@@ -9,8 +9,8 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
-import com.baeldung.batchinserts.model.Customer;
-import com.baeldung.batchinserts.repository.CustomerRepository;
+import com.baeldung.boot.daos.CustomerRepository;
+import com.baeldung.boot.domain.Customer;
/**
* A simple controller to test the JPA CrudRepository operations
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/config/PersistenceConfiguration.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/config/PersistenceConfiguration.java
deleted file mode 100644
index 891624443b..0000000000
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/config/PersistenceConfiguration.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package com.baeldung.config;
-
-import com.baeldung.dao.repositories.impl.ExtendedRepositoryImpl;
-import com.baeldung.services.IBarService;
-import com.baeldung.services.impl.BarSpringDataJpaService;
-import com.google.common.base.Preconditions;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.*;
-import org.springframework.core.env.Environment;
-import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor;
-import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
-import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-import org.springframework.jdbc.datasource.DriverManagerDataSource;
-import org.springframework.orm.jpa.JpaTransactionManager;
-import org.springframework.orm.jpa.JpaVendorAdapter;
-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 javax.sql.DataSource;
-import java.util.Properties;
-
-@Configuration
-@ComponentScan({ "com.baeldung.dao", "com.baeldung.services" })
-@EnableTransactionManagement
-@EnableJpaRepositories(basePackages = { "com.baeldung.dao" }, repositoryBaseClass = ExtendedRepositoryImpl.class)
-@EnableJpaAuditing
-@PropertySource("classpath:persistence.properties")
-@Profile("!tc")
-public class PersistenceConfiguration {
-
- @Autowired
- private Environment env;
-
- public PersistenceConfiguration() {
- super();
- }
-
- @Bean
- public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
- final LocalContainerEntityManagerFactoryBean emf = new LocalContainerEntityManagerFactoryBean();
- emf.setDataSource(dataSource());
- emf.setPackagesToScan("com.baeldung.domain");
-
- final JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
- emf.setJpaVendorAdapter(vendorAdapter);
- emf.setJpaProperties(hibernateProperties());
-
- return emf;
- }
-
- @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();
- }
-
- @Bean
- public IBarService barSpringDataJpaService() {
- return new BarSpringDataJpaService();
- }
-
- private final Properties hibernateProperties() {
- final Properties hibernateProperties = new Properties();
- hibernateProperties.setProperty("hibernate.hbm2ddl.auto", env.getProperty("hibernate.hbm2ddl.auto"));
- hibernateProperties.setProperty("hibernate.dialect", env.getProperty("hibernate.dialect"));
-
- hibernateProperties.setProperty("hibernate.show_sql", "true");
- // hibernateProperties.setProperty("hibernate.format_sql", "true");
- // hibernateProperties.setProperty("hibernate.globally_quoted_identifiers", "true");
-
- // Envers properties
- hibernateProperties.setProperty("org.hibernate.envers.audit_table_suffix",
- env.getProperty("envers.audit_table_suffix"));
-
- return hibernateProperties;
- }
-
-}
\ No newline at end of file
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/product/ProductRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/product/ProductRepository.java
deleted file mode 100755
index 1f9f5f9195..0000000000
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/dao/repositories/product/ProductRepository.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.baeldung.dao.repositories.product;
-
-import com.baeldung.domain.product.Product;
-
-import java.util.List;
-
-import org.springframework.data.domain.Pageable;
-import org.springframework.data.repository.PagingAndSortingRepository;
-
-public interface ProductRepository extends PagingAndSortingRepository {
-
- List findAllByPrice(double price, Pageable pageable);
-}
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/DomainEvent.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/DomainEvent.java
deleted file mode 100644
index 1e6479d4fc..0000000000
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/ddd/event/DomainEvent.java
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- *
- */
-package com.baeldung.ddd.event;
-
-class DomainEvent {
-
-}
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/MultipleDbApplication.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/MultipleDbApplication.java
new file mode 100644
index 0000000000..8ff6799e31
--- /dev/null
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/MultipleDbApplication.java
@@ -0,0 +1,14 @@
+package com.baeldung.multipledb;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class MultipleDbApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(MultipleDbApplication.class, args);
+ }
+
+}
+
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/config/PersistenceProductConfiguration.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/PersistenceProductConfiguration.java
similarity index 90%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/config/PersistenceProductConfiguration.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/PersistenceProductConfiguration.java
index ecaee82ae5..bcf2cd84eb 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/config/PersistenceProductConfiguration.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/PersistenceProductConfiguration.java
@@ -1,4 +1,4 @@
-package com.baeldung.config;
+package com.baeldung.multipledb;
import com.google.common.base.Preconditions;
import org.springframework.beans.factory.annotation.Autowired;
@@ -19,7 +19,7 @@ import java.util.HashMap;
@Configuration
@PropertySource({"classpath:persistence-multiple-db.properties"})
-@EnableJpaRepositories(basePackages = "com.baeldung.dao.repositories.product", entityManagerFactoryRef = "productEntityManager", transactionManagerRef = "productTransactionManager")
+@EnableJpaRepositories(basePackages = "com.baeldung.multipledb.dao.product", entityManagerFactoryRef = "productEntityManager", transactionManagerRef = "productTransactionManager")
@Profile("!tc")
public class PersistenceProductConfiguration {
@Autowired
@@ -35,7 +35,7 @@ public class PersistenceProductConfiguration {
public LocalContainerEntityManagerFactoryBean productEntityManager() {
final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
em.setDataSource(productDataSource());
- em.setPackagesToScan("com.baeldung.domain.product");
+ em.setPackagesToScan("com.baeldung.multipledb.model.product");
final HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
em.setJpaVendorAdapter(vendorAdapter);
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/config/PersistenceUserConfiguration.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/PersistenceUserConfiguration.java
similarity index 88%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/config/PersistenceUserConfiguration.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/PersistenceUserConfiguration.java
index 6893d889e6..6b48455c0c 100644
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/config/PersistenceUserConfiguration.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/PersistenceUserConfiguration.java
@@ -1,4 +1,4 @@
-package com.baeldung.config;
+package com.baeldung.multipledb;
import com.google.common.base.Preconditions;
import org.springframework.beans.factory.annotation.Autowired;
@@ -16,7 +16,7 @@ import java.util.HashMap;
@Configuration
@PropertySource({"classpath:persistence-multiple-db.properties"})
-@EnableJpaRepositories(basePackages = "com.baeldung.dao.repositories.user", entityManagerFactoryRef = "userEntityManager", transactionManagerRef = "userTransactionManager")
+@EnableJpaRepositories(basePackages = "com.baeldung.multipledb.dao.user", entityManagerFactoryRef = "userEntityManager", transactionManagerRef = "userTransactionManager")
@Profile("!tc")
public class PersistenceUserConfiguration {
@Autowired
@@ -31,9 +31,10 @@ public class PersistenceUserConfiguration {
@Primary
@Bean
public LocalContainerEntityManagerFactoryBean userEntityManager() {
+ System.out.println("loading config");
final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
em.setDataSource(userDataSource());
- em.setPackagesToScan("com.baeldung.domain.user");
+ em.setPackagesToScan("com.baeldung.multipledb.model.user");
final HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
em.setJpaVendorAdapter(vendorAdapter);
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/dao/product/ProductRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/dao/product/ProductRepository.java
new file mode 100755
index 0000000000..022099eed0
--- /dev/null
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/dao/product/ProductRepository.java
@@ -0,0 +1,13 @@
+package com.baeldung.multipledb.dao.product;
+
+import java.util.List;
+
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.repository.PagingAndSortingRepository;
+
+import com.baeldung.multipledb.model.product.ProductMultipleDB;
+
+public interface ProductRepository extends PagingAndSortingRepository {
+
+ List findAllByPrice(double price, Pageable pageable);
+}
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/dao/user/PossessionRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/dao/user/PossessionRepository.java
new file mode 100644
index 0000000000..ae37fde20d
--- /dev/null
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/dao/user/PossessionRepository.java
@@ -0,0 +1,9 @@
+package com.baeldung.multipledb.dao.user;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+
+import com.baeldung.multipledb.model.user.PossessionMultipleDB;
+
+public interface PossessionRepository extends JpaRepository {
+
+}
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/dao/user/UserRepository.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/dao/user/UserRepository.java
new file mode 100644
index 0000000000..267a61a93f
--- /dev/null
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/dao/user/UserRepository.java
@@ -0,0 +1,8 @@
+package com.baeldung.multipledb.dao.user;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+
+import com.baeldung.multipledb.model.user.UserMultipleDB;
+
+public interface UserRepository extends JpaRepository {
+}
\ No newline at end of file
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/product/Product.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/model/product/ProductMultipleDB.java
similarity index 76%
rename from persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/product/Product.java
rename to persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/model/product/ProductMultipleDB.java
index 2f82e3e318..8bdff340ac 100755
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/domain/product/Product.java
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/model/product/ProductMultipleDB.java
@@ -1,4 +1,4 @@
-package com.baeldung.domain.product;
+package com.baeldung.multipledb.model.product;
import javax.persistence.Entity;
import javax.persistence.Id;
@@ -6,7 +6,7 @@ import javax.persistence.Table;
@Entity
@Table(schema = "products")
-public class Product {
+public class ProductMultipleDB {
@Id
private int id;
@@ -15,19 +15,19 @@ public class Product {
private double price;
- public Product() {
+ public ProductMultipleDB() {
super();
}
- private Product(int id, String name, double price) {
+ private ProductMultipleDB(int id, String name, double price) {
super();
this.id = id;
this.name = name;
this.price = price;
}
- public static Product from(int id, String name, double price) {
- return new Product(id, name, price);
+ public static ProductMultipleDB from(int id, String name, double price) {
+ return new ProductMultipleDB(id, name, price);
}
public int getId() {
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/model/user/PossessionMultipleDB.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/model/user/PossessionMultipleDB.java
new file mode 100644
index 0000000000..a6a3c88bd0
--- /dev/null
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/model/user/PossessionMultipleDB.java
@@ -0,0 +1,82 @@
+package com.baeldung.multipledb.model.user;
+
+import javax.persistence.*;
+
+@Entity
+@Table
+public class PossessionMultipleDB {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ private long id;
+
+ private String name;
+
+ public PossessionMultipleDB() {
+ super();
+ }
+
+ public PossessionMultipleDB(final String name) {
+ super();
+
+ this.name = name;
+ }
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(final int id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = (prime * result) + (int) (id ^ (id >>> 32));
+ result = (prime * result) + ((name == null) ? 0 : name.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ final PossessionMultipleDB other = (PossessionMultipleDB) obj;
+ if (id != other.id) {
+ return false;
+ }
+ if (name == null) {
+ if (other.name != null) {
+ return false;
+ }
+ } else if (!name.equals(other.name)) {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ final StringBuilder builder = new StringBuilder();
+ builder.append("Possesion [id=").append(id).append(", name=").append(name).append("]");
+ return builder.toString();
+ }
+
+}
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/model/user/UserMultipleDB.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/model/user/UserMultipleDB.java
new file mode 100644
index 0000000000..c7cd07f7a1
--- /dev/null
+++ b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/multipledb/model/user/UserMultipleDB.java
@@ -0,0 +1,88 @@
+package com.baeldung.multipledb.model.user;
+
+import javax.persistence.*;
+
+import java.util.List;
+
+@Entity
+@Table(name = "users")
+public class UserMultipleDB {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ private int id;
+ private String name;
+ private int age;
+ @Column(unique = true, nullable = false)
+ private String email;
+ private Integer status;
+
+ @OneToMany
+ List possessionList;
+
+ public UserMultipleDB() {
+ super();
+ }
+
+ public UserMultipleDB(String name, String email, Integer status) {
+ this.name = name;
+ this.email = email;
+ this.status = status;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(final int id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(final String email) {
+ this.email = email;
+ }
+
+ public Integer getStatus() {
+ return status;
+ }
+
+ public void setStatus(Integer status) {
+ this.status = status;
+ }
+
+ public int getAge() {
+ return age;
+ }
+
+ public void setAge(final int age) {
+ this.age = age;
+ }
+
+ public List getPossessionList() {
+ return possessionList;
+ }
+
+ public void setPossessionList(List possessionList) {
+ this.possessionList = possessionList;
+ }
+
+ @Override
+ public String toString() {
+ final StringBuilder builder = new StringBuilder();
+ builder.append("User [name=").append(name).append(", id=").append(id).append("]");
+ return builder.toString();
+ }
+
+}
\ No newline at end of file
diff --git a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/IBarService.java b/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/IBarService.java
deleted file mode 100644
index 7e127488db..0000000000
--- a/persistence-modules/spring-data-jpa/src/main/java/com/baeldung/services/IBarService.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.baeldung.services;
-
-import com.baeldung.domain.Bar;
-
-public interface IBarService extends IOperations {
- //
-}
diff --git a/persistence-modules/spring-data-jpa/src/main/resources/application.properties b/persistence-modules/spring-data-jpa/src/main/resources/application.properties
index 239f81db7b..f127dd5e50 100644
--- a/persistence-modules/spring-data-jpa/src/main/resources/application.properties
+++ b/persistence-modules/spring-data-jpa/src/main/resources/application.properties
@@ -1,22 +1,6 @@
-# spring.datasource.x
-spring.datasource.driver-class-name=org.h2.Driver
-spring.datasource.url=jdbc:h2:mem:db;DB_CLOSE_DELAY=-1
-spring.datasource.username=sa
-spring.datasource.password=sa
-
-# hibernate.X
-hibernate.dialect=org.hibernate.dialect.H2Dialect
-hibernate.show_sql=true
-hibernate.hbm2ddl.auto=create-drop
-hibernate.cache.use_second_level_cache=true
-hibernate.cache.use_query_cache=true
-hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory
-
-spring.datasource.data=import_entities.sql
-
spring.main.allow-bean-definition-overriding=true
spring.jpa.properties.hibernate.jdbc.batch_size=4
spring.jpa.properties.hibernate.order_inserts=true
spring.jpa.properties.hibernate.order_updates=true
-spring.jpa.properties.hibernate.generate_statistics=true
\ No newline at end of file
+spring.jpa.properties.hibernate.generate_statistics=true
diff --git a/persistence-modules/spring-data-jpa/src/main/resources/persistence.properties b/persistence-modules/spring-data-jpa/src/main/resources/persistence.properties
index 3543e1b52b..6bc83edf34 100644
--- a/persistence-modules/spring-data-jpa/src/main/resources/persistence.properties
+++ b/persistence-modules/spring-data-jpa/src/main/resources/persistence.properties
@@ -12,5 +12,3 @@ hibernate.cache.use_second_level_cache=true
hibernate.cache.use_query_cache=true
hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory
-# envers.X
-envers.audit_table_suffix=_audit_log
\ No newline at end of file
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/batchinserts/BatchInsertIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/batchinserts/BatchInsertIntegrationTest.java
index f60e0d21bf..7ddf36d3f0 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/batchinserts/BatchInsertIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/batchinserts/BatchInsertIntegrationTest.java
@@ -9,21 +9,17 @@ import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-import com.baeldung.batchinserts.CustomerController;
-import com.baeldung.batchinserts.repository.CustomerRepository;
-import com.baeldung.config.PersistenceConfiguration;
-import com.baeldung.config.PersistenceProductConfiguration;
-import com.baeldung.config.PersistenceUserConfiguration;
+import com.baeldung.boot.Application;
+import com.baeldung.boot.daos.CustomerRepository;
+import com.baeldung.boot.web.controllers.CustomerController;
@RunWith(SpringRunner.class)
-@SpringBootTest
+@SpringBootTest(classes=Application.class)
@AutoConfigureMockMvc
-@ContextConfiguration(classes = { PersistenceConfiguration.class, PersistenceProductConfiguration.class, PersistenceUserConfiguration.class })
public class BatchInsertIntegrationTest {
@Autowired
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/ArticleRepositoryIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/ArticleRepositoryIntegrationTest.java
similarity index 82%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/ArticleRepositoryIntegrationTest.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/ArticleRepositoryIntegrationTest.java
index 093e744003..dfb04b3dfb 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/ArticleRepositoryIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/ArticleRepositoryIntegrationTest.java
@@ -1,13 +1,16 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
+
+import com.baeldung.boot.Application;
+import com.baeldung.boot.config.PersistenceConfiguration;
+import com.baeldung.boot.daos.ArticleRepository;
+import com.baeldung.boot.domain.Article;
-import com.baeldung.config.PersistenceConfiguration;
-import com.baeldung.config.PersistenceProductConfiguration;
-import com.baeldung.config.PersistenceUserConfiguration;
-import com.baeldung.domain.Article;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.junit4.SpringRunner;
import java.text.SimpleDateFormat;
@@ -18,7 +21,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@RunWith(SpringRunner.class)
-@DataJpaTest(excludeAutoConfiguration = {PersistenceConfiguration.class, PersistenceUserConfiguration.class, PersistenceProductConfiguration.class})
+@DataJpaTest(properties="spring.datasource.data=classpath:import_entities.sql")
public class ArticleRepositoryIntegrationTest {
@Autowired
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/ExtendedStudentRepositoryIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/ExtendedStudentRepositoryIntegrationTest.java
similarity index 80%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/ExtendedStudentRepositoryIntegrationTest.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/ExtendedStudentRepositoryIntegrationTest.java
index b19a34df82..66de5911db 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/ExtendedStudentRepositoryIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/ExtendedStudentRepositoryIntegrationTest.java
@@ -1,7 +1,10 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
+
+import com.baeldung.boot.Application;
+import com.baeldung.boot.config.PersistenceConfiguration;
+import com.baeldung.boot.daos.ExtendedStudentRepository;
+import com.baeldung.boot.domain.Student;
-import com.baeldung.config.PersistenceConfiguration;
-import com.baeldung.domain.Student;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -15,7 +18,7 @@ import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
@RunWith(SpringRunner.class)
-@ContextConfiguration(classes = {PersistenceConfiguration.class})
+@ContextConfiguration(classes = {Application.class})
@DirtiesContext
public class ExtendedStudentRepositoryIntegrationTest {
@Resource
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/InventoryRepositoryIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/InventoryRepositoryIntegrationTest.java
similarity index 85%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/InventoryRepositoryIntegrationTest.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/InventoryRepositoryIntegrationTest.java
index 9d6334445c..877e59d5a2 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/InventoryRepositoryIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/InventoryRepositoryIntegrationTest.java
@@ -1,11 +1,15 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
+
+import com.baeldung.boot.Application;
+import com.baeldung.boot.config.PersistenceConfiguration;
+import com.baeldung.boot.daos.InventoryRepository;
+import com.baeldung.boot.domain.MerchandiseEntity;
-import com.baeldung.config.PersistenceConfiguration;
-import com.baeldung.domain.MerchandiseEntity;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
+import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.math.BigDecimal;
@@ -15,7 +19,7 @@ import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
@RunWith(SpringRunner.class)
-@DataJpaTest(excludeAutoConfiguration = {PersistenceConfiguration.class})
+@SpringBootTest(classes=Application.class)
public class InventoryRepositoryIntegrationTest {
private static final String ORIGINAL_TITLE = "Pair of Pants";
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/JpaRepositoriesIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/JpaRepositoriesIntegrationTest.java
similarity index 80%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/JpaRepositoriesIntegrationTest.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/JpaRepositoriesIntegrationTest.java
index 01405c0b8a..30925d9b68 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/JpaRepositoriesIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/JpaRepositoriesIntegrationTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertFalse;
@@ -13,18 +13,24 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
+import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
-import com.baeldung.config.PersistenceConfiguration;
-import com.baeldung.config.PersistenceProductConfiguration;
-import com.baeldung.config.PersistenceUserConfiguration;
-import com.baeldung.domain.Item;
-import com.baeldung.domain.ItemType;
-import com.baeldung.domain.Location;
-import com.baeldung.domain.Store;
+import com.baeldung.boot.Application;
+import com.baeldung.boot.config.PersistenceConfiguration;
+import com.baeldung.boot.daos.ItemTypeRepository;
+import com.baeldung.boot.daos.LocationRepository;
+import com.baeldung.boot.daos.ReadOnlyLocationRepository;
+import com.baeldung.boot.daos.StoreRepository;
+import com.baeldung.boot.domain.Item;
+import com.baeldung.boot.domain.ItemType;
+import com.baeldung.boot.domain.Location;
+import com.baeldung.boot.domain.Store;
+import com.baeldung.multipledb.PersistenceProductConfiguration;
+import com.baeldung.multipledb.PersistenceUserConfiguration;
@RunWith(SpringRunner.class)
-@DataJpaTest(excludeAutoConfiguration = { PersistenceConfiguration.class, PersistenceUserConfiguration.class, PersistenceProductConfiguration.class })
+@DataJpaTest(properties="spring.datasource.data=classpath:import_entities.sql")
public class JpaRepositoriesIntegrationTest {
@Autowired
private LocationRepository locationRepository;
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/PersonInsertRepositoryIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/PersonInsertRepositoryIntegrationTest.java
similarity index 94%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/PersonInsertRepositoryIntegrationTest.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/PersonInsertRepositoryIntegrationTest.java
index b248cf8bf1..9d45c17035 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/PersonInsertRepositoryIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/PersonInsertRepositoryIntegrationTest.java
@@ -1,7 +1,8 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
+
+import com.baeldung.boot.daos.impl.PersonInsertRepository;
+import com.baeldung.boot.domain.Person;
-import com.baeldung.dao.repositories.impl.PersonInsertRepository;
-import com.baeldung.domain.Person;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/UserRepositoryCommon.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/UserRepositoryCommon.java
similarity index 99%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/UserRepositoryCommon.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/UserRepositoryCommon.java
index abd758cec2..4aeeaf5209 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/UserRepositoryCommon.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/UserRepositoryCommon.java
@@ -1,7 +1,5 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
-import com.baeldung.dao.repositories.user.UserRepository;
-import com.baeldung.domain.user.User;
import org.junit.After;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
@@ -12,6 +10,9 @@ import org.springframework.data.jpa.domain.JpaSort;
import org.springframework.data.mapping.PropertyReferenceException;
import org.springframework.transaction.annotation.Transactional;
+import com.baeldung.boot.daos.user.UserRepository;
+import com.baeldung.boot.domain.User;
+
import javax.persistence.EntityManager;
import javax.persistence.Query;
import java.time.LocalDate;
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/UserRepositoryIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/UserRepositoryIntegrationTest.java
similarity index 86%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/UserRepositoryIntegrationTest.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/UserRepositoryIntegrationTest.java
index 09f937c8f2..1b1d264574 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/UserRepositoryIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/UserRepositoryIntegrationTest.java
@@ -1,7 +1,7 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
-import com.baeldung.config.PersistenceConfiguration;
-import com.baeldung.domain.user.User;
+import com.baeldung.boot.Application;
+import com.baeldung.boot.domain.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
@@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* Created by adam.
*/
@RunWith(SpringRunner.class)
-@SpringBootTest(classes = PersistenceConfiguration.class)
+@SpringBootTest(classes = Application.class)
@DirtiesContext
public class UserRepositoryIntegrationTest extends UserRepositoryCommon {
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/UserRepositoryTCAutoIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/UserRepositoryTCAutoIntegrationTest.java
similarity index 91%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/UserRepositoryTCAutoIntegrationTest.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/UserRepositoryTCAutoIntegrationTest.java
index 6a851823e3..2f3e9c9032 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/UserRepositoryTCAutoIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/UserRepositoryTCAutoIntegrationTest.java
@@ -1,6 +1,7 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
-import com.baeldung.domain.user.User;
+import com.baeldung.boot.Application;
+import com.baeldung.boot.domain.User;
import com.baeldung.util.BaeldungPostgresqlContainer;
import org.junit.ClassRule;
import org.junit.Test;
@@ -19,7 +20,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* Created by adam.
*/
@RunWith(SpringRunner.class)
-@SpringBootTest
+@SpringBootTest(classes = Application.class)
@ActiveProfiles({"tc", "tc-auto"})
public class UserRepositoryTCAutoIntegrationTest extends UserRepositoryCommon {
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/UserRepositoryTCIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/UserRepositoryTCIntegrationTest.java
similarity index 94%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/UserRepositoryTCIntegrationTest.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/UserRepositoryTCIntegrationTest.java
index c300a07ab9..afdf60cc81 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/UserRepositoryTCIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/daos/UserRepositoryTCIntegrationTest.java
@@ -1,6 +1,7 @@
-package com.baeldung.dao.repositories;
+package com.baeldung.boot.daos;
-import com.baeldung.domain.user.User;
+import com.baeldung.boot.Application;
+import com.baeldung.boot.domain.User;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -19,7 +20,7 @@ import java.time.LocalDate;
import static org.assertj.core.api.Assertions.assertThat;
@RunWith(SpringRunner.class)
-@SpringBootTest
+@SpringBootTest(classes = Application.class)
@ActiveProfiles("tc")
@ContextConfiguration(initializers = {UserRepositoryTCIntegrationTest.Initializer.class})
public class UserRepositoryTCIntegrationTest extends UserRepositoryCommon {
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/ddd/event/Aggregate2EventsIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/ddd/event/Aggregate2EventsIntegrationTest.java
similarity index 90%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/ddd/event/Aggregate2EventsIntegrationTest.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/ddd/event/Aggregate2EventsIntegrationTest.java
index 3f650d4d63..e76b932cb9 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/ddd/event/Aggregate2EventsIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/ddd/event/Aggregate2EventsIntegrationTest.java
@@ -1,7 +1,7 @@
/**
*
*/
-package com.baeldung.ddd.event;
+package com.baeldung.boot.ddd.event;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.times;
@@ -15,6 +15,10 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
+import com.baeldung.boot.ddd.event.Aggregate2;
+import com.baeldung.boot.ddd.event.Aggregate2Repository;
+import com.baeldung.boot.ddd.event.DomainEvent;
+
@SpringJUnitConfig
@SpringBootTest
class Aggregate2EventsIntegrationTest {
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/ddd/event/Aggregate3EventsIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/ddd/event/Aggregate3EventsIntegrationTest.java
similarity index 90%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/ddd/event/Aggregate3EventsIntegrationTest.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/ddd/event/Aggregate3EventsIntegrationTest.java
index 893dcac3f8..4193e932ee 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/ddd/event/Aggregate3EventsIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/ddd/event/Aggregate3EventsIntegrationTest.java
@@ -1,7 +1,7 @@
/**
*
*/
-package com.baeldung.ddd.event;
+package com.baeldung.boot.ddd.event;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.times;
@@ -14,6 +14,10 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
+import com.baeldung.boot.ddd.event.Aggregate3;
+import com.baeldung.boot.ddd.event.Aggregate3Repository;
+import com.baeldung.boot.ddd.event.DomainEvent;
+
@SpringJUnitConfig
@SpringBootTest
class Aggregate3EventsIntegrationTest {
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/ddd/event/AggregateEventsIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/ddd/event/AggregateEventsIntegrationTest.java
similarity index 91%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/ddd/event/AggregateEventsIntegrationTest.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/ddd/event/AggregateEventsIntegrationTest.java
index f0e1147245..ac607063b2 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/ddd/event/AggregateEventsIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/ddd/event/AggregateEventsIntegrationTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.ddd.event;
+package com.baeldung.boot.ddd.event;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.times;
@@ -16,6 +16,11 @@ import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.annotation.Bean;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
+import com.baeldung.boot.ddd.event.Aggregate;
+import com.baeldung.boot.ddd.event.AggregateRepository;
+import com.baeldung.boot.ddd.event.DomainEvent;
+import com.baeldung.boot.ddd.event.DomainService;
+
@SpringJUnitConfig
@SpringBootTest
class AggregateEventsIntegrationTest {
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/ddd/event/TestEventHandler.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/ddd/event/TestEventHandler.java
similarity index 68%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/ddd/event/TestEventHandler.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/ddd/event/TestEventHandler.java
index 721402c17a..0f499834eb 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/ddd/event/TestEventHandler.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/ddd/event/TestEventHandler.java
@@ -1,10 +1,12 @@
/**
*
*/
-package com.baeldung.ddd.event;
+package com.baeldung.boot.ddd.event;
import org.springframework.transaction.event.TransactionalEventListener;
+import com.baeldung.boot.ddd.event.DomainEvent;
+
interface TestEventHandler {
@TransactionalEventListener
void handleEvent(DomainEvent event);
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/passenger/PassengerRepositoryIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/passenger/PassengerRepositoryIntegrationTest.java
similarity index 98%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/passenger/PassengerRepositoryIntegrationTest.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/passenger/PassengerRepositoryIntegrationTest.java
index 2b303604b6..f082350019 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/passenger/PassengerRepositoryIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/passenger/PassengerRepositoryIntegrationTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.passenger;
+package com.baeldung.boot.passenger;
import org.junit.Before;
import org.junit.Test;
@@ -12,6 +12,9 @@ import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.test.context.junit4.SpringRunner;
+import com.baeldung.boot.passenger.Passenger;
+import com.baeldung.boot.passenger.PassengerRepository;
+
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.List;
@@ -23,6 +26,7 @@ import static org.hamcrest.core.IsNot.not;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+
@DataJpaTest
@RunWith(SpringRunner.class)
public class PassengerRepositoryIntegrationTest {
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/services/AbstractServicePersistenceIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/services/AbstractServicePersistenceIntegrationTest.java
similarity index 98%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/services/AbstractServicePersistenceIntegrationTest.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/services/AbstractServicePersistenceIntegrationTest.java
index acac66f2f7..bf0c85fca6 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/services/AbstractServicePersistenceIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/services/AbstractServicePersistenceIntegrationTest.java
@@ -1,6 +1,7 @@
-package com.baeldung.services;
+package com.baeldung.boot.services;
-import com.baeldung.domain.Foo;
+import com.baeldung.boot.domain.Foo;
+import com.baeldung.boot.services.IOperations;
import com.baeldung.util.IDUtil;
import org.hamcrest.Matchers;
import org.junit.Ignore;
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/services/FooServicePersistenceIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/services/FooServicePersistenceIntegrationTest.java
similarity index 85%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/services/FooServicePersistenceIntegrationTest.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/services/FooServicePersistenceIntegrationTest.java
index fd17d033e1..f0e4aa7317 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/services/FooServicePersistenceIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/services/FooServicePersistenceIntegrationTest.java
@@ -1,11 +1,16 @@
-package com.baeldung.services;
+package com.baeldung.boot.services;
+
+import com.baeldung.boot.Application;
+import com.baeldung.boot.config.PersistenceConfiguration;
+import com.baeldung.boot.domain.Foo;
+import com.baeldung.boot.services.IFooService;
+import com.baeldung.boot.services.IOperations;
-import com.baeldung.config.PersistenceConfiguration;
-import com.baeldung.domain.Foo;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.dao.InvalidDataAccessApiUsageException;
import org.springframework.test.context.ContextConfiguration;
@@ -16,7 +21,7 @@ import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic;
import static org.junit.Assert.assertNotNull;
@RunWith(SpringRunner.class)
-@ContextConfiguration(classes = {PersistenceConfiguration.class}, loader = AnnotationConfigContextLoader.class)
+@SpringBootTest(classes=Application.class)
public class FooServicePersistenceIntegrationTest extends AbstractServicePersistenceIntegrationTest {
@Autowired
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/services/SpringDataJPABarAuditIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/services/SpringDataJPABarAuditIntegrationTest.java
similarity index 87%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/services/SpringDataJPABarAuditIntegrationTest.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/services/SpringDataJPABarAuditIntegrationTest.java
index f3b857c73d..810cf70769 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/services/SpringDataJPABarAuditIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/boot/services/SpringDataJPABarAuditIntegrationTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.services;
+package com.baeldung.boot.services;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -16,16 +16,19 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.security.test.context.support.WithMockUser;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;
-import com.baeldung.config.PersistenceConfiguration;
-import com.baeldung.domain.Bar;
+import com.baeldung.boot.Application;
+import com.baeldung.boot.config.PersistenceConfiguration;
+import com.baeldung.boot.domain.Bar;
+import com.baeldung.boot.services.IBarService;
@RunWith(SpringRunner.class)
-@ContextConfiguration(classes = { PersistenceConfiguration.class }, loader = AnnotationConfigContextLoader.class)
+@SpringBootTest(classes=Application.class)
public class SpringDataJPABarAuditIntegrationTest {
private static Logger logger = LoggerFactory.getLogger(SpringDataJPABarAuditIntegrationTest.class);
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/services/JpaMultipleDBIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/multipledb/JpaMultipleDBIntegrationTest.java
similarity index 74%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/services/JpaMultipleDBIntegrationTest.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/multipledb/JpaMultipleDBIntegrationTest.java
index 71a3fb0b44..bcc4103d08 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/services/JpaMultipleDBIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/multipledb/JpaMultipleDBIntegrationTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.services;
+package com.baeldung.multipledb;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -10,26 +10,23 @@ import java.util.Optional;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.transaction.annotation.Transactional;
-import com.baeldung.config.PersistenceProductConfiguration;
-import com.baeldung.config.PersistenceUserConfiguration;
-import com.baeldung.dao.repositories.product.ProductRepository;
-import com.baeldung.dao.repositories.user.PossessionRepository;
-import com.baeldung.dao.repositories.user.UserRepository;
-import com.baeldung.domain.product.Product;
-import com.baeldung.domain.user.Possession;
-import com.baeldung.domain.user.User;
+import com.baeldung.multipledb.dao.product.ProductRepository;
+import com.baeldung.multipledb.dao.user.PossessionRepository;
+import com.baeldung.multipledb.dao.user.UserRepository;
+import com.baeldung.multipledb.model.product.ProductMultipleDB;
+import com.baeldung.multipledb.model.user.PossessionMultipleDB;
+import com.baeldung.multipledb.model.user.UserMultipleDB;
@RunWith(SpringRunner.class)
-@ContextConfiguration(classes = { PersistenceUserConfiguration.class, PersistenceProductConfiguration.class })
+@SpringBootTest(classes=MultipleDbApplication.class)
@EnableTransactionManagement
-@DirtiesContext
public class JpaMultipleDBIntegrationTest {
@Autowired
@@ -46,15 +43,15 @@ public class JpaMultipleDBIntegrationTest {
@Test
@Transactional("userTransactionManager")
public void whenCreatingUser_thenCreated() {
- User user = new User();
+ UserMultipleDB user = new UserMultipleDB();
user.setName("John");
user.setEmail("john@test.com");
user.setAge(20);
- Possession p = new Possession("sample");
+ PossessionMultipleDB p = new PossessionMultipleDB("sample");
p = possessionRepository.save(p);
user.setPossessionList(Collections.singletonList(p));
user = userRepository.save(user);
- final Optional result = userRepository.findById(user.getId());
+ final Optional result = userRepository.findById(user.getId());
assertTrue(result.isPresent());
System.out.println(result.get().getPossessionList());
assertEquals(1, result.get().getPossessionList().size());
@@ -63,14 +60,14 @@ public class JpaMultipleDBIntegrationTest {
@Test
@Transactional("userTransactionManager")
public void whenCreatingUsersWithSameEmail_thenRollback() {
- User user1 = new User();
+ UserMultipleDB user1 = new UserMultipleDB();
user1.setName("John");
user1.setEmail("john@test.com");
user1.setAge(20);
user1 = userRepository.save(user1);
assertTrue(userRepository.findById(user1.getId()).isPresent());
- User user2 = new User();
+ UserMultipleDB user2 = new UserMultipleDB();
user2.setName("Tom");
user2.setEmail("john@test.com");
user2.setAge(10);
@@ -88,7 +85,7 @@ public class JpaMultipleDBIntegrationTest {
@Test
@Transactional("productTransactionManager")
public void whenCreatingProduct_thenCreated() {
- Product product = new Product();
+ ProductMultipleDB product = new ProductMultipleDB();
product.setName("Book");
product.setId(2);
product.setPrice(20);
diff --git a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/product/ProductRepositoryIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/multipledb/ProductRepositoryIntegrationTest.java
similarity index 69%
rename from persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/product/ProductRepositoryIntegrationTest.java
rename to persistence-modules/spring-data-jpa/src/test/java/com/baeldung/multipledb/ProductRepositoryIntegrationTest.java
index 4caa0f0ca4..2c965f72f3 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/dao/repositories/product/ProductRepositoryIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/com/baeldung/multipledb/ProductRepositoryIntegrationTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.dao.repositories.product;
+package com.baeldung.multipledb;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.hasSize;
@@ -13,6 +13,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
@@ -22,11 +23,12 @@ import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.transaction.annotation.Transactional;
-import com.baeldung.config.PersistenceProductConfiguration;
-import com.baeldung.domain.product.Product;
+import com.baeldung.multipledb.PersistenceProductConfiguration;
+import com.baeldung.multipledb.dao.product.ProductRepository;
+import com.baeldung.multipledb.model.product.ProductMultipleDB;
@RunWith(SpringRunner.class)
-@ContextConfiguration(classes = { PersistenceProductConfiguration.class })
+@SpringBootTest(classes=MultipleDbApplication.class)
@EnableTransactionManagement
public class ProductRepositoryIntegrationTest {
@@ -36,22 +38,22 @@ public class ProductRepositoryIntegrationTest {
@Before
@Transactional("productTransactionManager")
public void setUp() {
- productRepository.save(Product.from(1001, "Book", 21));
- productRepository.save(Product.from(1002, "Coffee", 10));
- productRepository.save(Product.from(1003, "Jeans", 30));
- productRepository.save(Product.from(1004, "Shirt", 32));
- productRepository.save(Product.from(1005, "Bacon", 10));
+ productRepository.save(ProductMultipleDB.from(1001, "Book", 21));
+ productRepository.save(ProductMultipleDB.from(1002, "Coffee", 10));
+ productRepository.save(ProductMultipleDB.from(1003, "Jeans", 30));
+ productRepository.save(ProductMultipleDB.from(1004, "Shirt", 32));
+ productRepository.save(ProductMultipleDB.from(1005, "Bacon", 10));
}
@Test
public void whenRequestingFirstPageOfSizeTwo_ThenReturnFirstPage() {
Pageable pageRequest = PageRequest.of(0, 2);
- Page result = productRepository.findAll(pageRequest);
+ Page result = productRepository.findAll(pageRequest);
assertThat(result.getContent(), hasSize(2));
assertTrue(result.stream()
- .map(Product::getId)
+ .map(ProductMultipleDB::getId)
.allMatch(id -> Arrays.asList(1001, 1002)
.contains(id)));
}
@@ -60,11 +62,11 @@ public class ProductRepositoryIntegrationTest {
public void whenRequestingSecondPageOfSizeTwo_ThenReturnSecondPage() {
Pageable pageRequest = PageRequest.of(1, 2);
- Page result = productRepository.findAll(pageRequest);
+ Page result = productRepository.findAll(pageRequest);
assertThat(result.getContent(), hasSize(2));
assertTrue(result.stream()
- .map(Product::getId)
+ .map(ProductMultipleDB::getId)
.allMatch(id -> Arrays.asList(1003, 1004)
.contains(id)));
}
@@ -73,11 +75,11 @@ public class ProductRepositoryIntegrationTest {
public void whenRequestingLastPage_ThenReturnLastPageWithRemData() {
Pageable pageRequest = PageRequest.of(2, 2);
- Page result = productRepository.findAll(pageRequest);
+ Page result = productRepository.findAll(pageRequest);
assertThat(result.getContent(), hasSize(1));
assertTrue(result.stream()
- .map(Product::getId)
+ .map(ProductMultipleDB::getId)
.allMatch(id -> Arrays.asList(1005)
.contains(id)));
}
@@ -86,12 +88,12 @@ public class ProductRepositoryIntegrationTest {
public void whenSortingByNameAscAndPaging_ThenReturnSortedPagedResult() {
Pageable pageRequest = PageRequest.of(0, 3, Sort.by("name"));
- Page result = productRepository.findAll(pageRequest);
+ Page result = productRepository.findAll(pageRequest);
assertThat(result.getContent(), hasSize(3));
assertThat(result.getContent()
.stream()
- .map(Product::getId)
+ .map(ProductMultipleDB::getId)
.collect(Collectors.toList()), equalTo(Arrays.asList(1005, 1001, 1002)));
}
@@ -101,12 +103,12 @@ public class ProductRepositoryIntegrationTest {
Pageable pageRequest = PageRequest.of(0, 3, Sort.by("price")
.descending());
- Page result = productRepository.findAll(pageRequest);
+ Page result = productRepository.findAll(pageRequest);
assertThat(result.getContent(), hasSize(3));
assertThat(result.getContent()
.stream()
- .map(Product::getId)
+ .map(ProductMultipleDB::getId)
.collect(Collectors.toList()), equalTo(Arrays.asList(1004, 1003, 1001)));
}
@@ -117,12 +119,12 @@ public class ProductRepositoryIntegrationTest {
.descending()
.and(Sort.by("name")));
- Page result = productRepository.findAll(pageRequest);
+ Page result = productRepository.findAll(pageRequest);
assertThat(result.getContent(), hasSize(5));
assertThat(result.getContent()
.stream()
- .map(Product::getId)
+ .map(ProductMultipleDB::getId)
.collect(Collectors.toList()), equalTo(Arrays.asList(1004, 1003, 1001, 1005, 1002)));
}
@@ -131,11 +133,11 @@ public class ProductRepositoryIntegrationTest {
public void whenRequestingFirstPageOfSizeTwoUsingCustomMethod_ThenReturnFirstPage() {
Pageable pageRequest = PageRequest.of(0, 2);
- List result = productRepository.findAllByPrice(10, pageRequest);
+ List result = productRepository.findAllByPrice(10, pageRequest);
assertThat(result, hasSize(2));
assertTrue(result.stream()
- .map(Product::getId)
+ .map(ProductMultipleDB::getId)
.allMatch(id -> Arrays.asList(1002, 1005)
.contains(id)));
}
diff --git a/persistence-modules/spring-data-jpa/src/test/java/org/baeldung/SpringContextIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/org/baeldung/SpringContextIntegrationTest.java
index 7f906bdbcd..e885d0fe51 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/org/baeldung/SpringContextIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/org/baeldung/SpringContextIntegrationTest.java
@@ -5,7 +5,7 @@ import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
-import com.baeldung.Application;
+import com.baeldung.boot.Application;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
diff --git a/persistence-modules/spring-data-jpa/src/test/java/org/baeldung/SpringJpaContextIntegrationTest.java b/persistence-modules/spring-data-jpa/src/test/java/org/baeldung/SpringJpaContextIntegrationTest.java
index 66b5b20b97..4a36407884 100644
--- a/persistence-modules/spring-data-jpa/src/test/java/org/baeldung/SpringJpaContextIntegrationTest.java
+++ b/persistence-modules/spring-data-jpa/src/test/java/org/baeldung/SpringJpaContextIntegrationTest.java
@@ -6,10 +6,10 @@ import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
-import com.baeldung.Application;
-import com.baeldung.config.PersistenceConfiguration;
-import com.baeldung.config.PersistenceProductConfiguration;
-import com.baeldung.config.PersistenceUserConfiguration;
+import com.baeldung.boot.Application;
+import com.baeldung.boot.config.PersistenceConfiguration;
+import com.baeldung.multipledb.PersistenceProductConfiguration;
+import com.baeldung.multipledb.PersistenceUserConfiguration;
@RunWith(SpringRunner.class)
@DataJpaTest(excludeAutoConfiguration = {