Merge pull request #5140 from FDPro/master

[BAEL-2048] dupirefr <[email protected]> Moving Spring Data JPA articles into new spring-data-jpa module
This commit is contained in:
Loredana Crusoveanu
2018-09-02 18:57:39 +03:00
committed by GitHub
58 changed files with 1781 additions and 426 deletions
@@ -1,69 +0,0 @@
package org.baeldung.config;
import java.util.Properties;
import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource;
import org.baeldung.extended.persistence.dao.ExtendedRepositoryImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@EnableJpaRepositories(basePackages = "org.baeldung.extended.persistence.dao", repositoryBaseClass = ExtendedRepositoryImpl.class)
@PropertySource("persistence-student-h2.properties")
@EnableTransactionManagement
public class StudentJPAH2Config {
@Autowired
private Environment env;
@Bean
public DataSource dataSource() {
final DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(env.getProperty("jdbc.driverClassName"));
dataSource.setUrl(env.getProperty("jdbc.url"));
dataSource.setUsername(env.getProperty("jdbc.user"));
dataSource.setPassword(env.getProperty("jdbc.pass"));
return dataSource;
}
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
em.setDataSource(dataSource());
em.setPackagesToScan(new String[] { "org.baeldung.inmemory.persistence.model" });
em.setJpaVendorAdapter(new HibernateJpaVendorAdapter());
em.setJpaProperties(additionalProperties());
return em;
}
@Bean
JpaTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) {
JpaTransactionManager transactionManager = new JpaTransactionManager();
transactionManager.setEntityManagerFactory(entityManagerFactory);
return transactionManager;
}
final Properties additionalProperties() {
final Properties hibernateProperties = new Properties();
hibernateProperties.setProperty("hibernate.hbm2ddl.auto", env.getProperty("hibernate.hbm2ddl.auto"));
hibernateProperties.setProperty("hibernate.dialect", env.getProperty("hibernate.dialect"));
hibernateProperties.setProperty("hibernate.show_sql", env.getProperty("hibernate.show_sql"));
hibernateProperties.setProperty("hibernate.cache.use_second_level_cache", env.getProperty("hibernate.cache.use_second_level_cache"));
hibernateProperties.setProperty("hibernate.cache.use_query_cache", env.getProperty("hibernate.cache.use_query_cache"));
return hibernateProperties;
}
}
@@ -1,6 +0,0 @@
package org.baeldung.extended.persistence.dao;
import org.baeldung.inmemory.persistence.model.Student;
public interface ExtendedStudentRepository extends ExtendedRepository<Student, Long> {
}
@@ -1,49 +0,0 @@
package org.baeldung.persistence.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue
private Integer id;
private String name;
private Integer status;
public User() {
}
public User(String name, Integer status) {
this.name = name;
this.status = status;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
}
@@ -1,8 +0,0 @@
package org.baeldung.persistence.multiple.dao.user;
import org.baeldung.persistence.multiple.model.user.User;
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserRepository extends JpaRepository<User, Integer> {
}
@@ -1,10 +1,6 @@
package org.baeldung.persistence.multiple.model.user;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.*;
@Entity
@Table(schema = "spring_jpa_user")
@@ -1,15 +1,8 @@
package org.baeldung.persistence.multiple.model.user;
import javax.persistence.*;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity
@Table(schema = "spring_jpa_user")
public class User {
@@ -8,7 +8,6 @@ import org.junit.runners.Suite;
FooPaginationPersistenceIntegrationTest.class
,FooServicePersistenceIntegrationTest.class
,FooServiceSortingIntegrationTest.class
,JpaMultipleDBIntegrationTest.class
,FooServiceSortingWitNullsManualIntegrationTest.class
}) // @formatter:on
public class PersistenceTestSuite {
@@ -24,8 +24,6 @@ public interface UserRepository extends JpaRepository<User, Integer> {
Optional<User> findOneByName(String name);
Stream<User> findAllByName(String name);
@Async
CompletableFuture<User> findOneByStatus(Integer status);
@@ -52,30 +52,6 @@ public class UserRepositoryIntegrationTest {
.getName()).isEqualTo(USER_NAME_ADAM);
}
@Test
@Transactional
public void givenUsersWithSameNameInDBWhenFindAllByNameThenReturnStreamOfUsers() {
User user1 = new User();
user1.setName(USER_NAME_ADAM);
userRepository.save(user1);
User user2 = new User();
user2.setName(USER_NAME_ADAM);
userRepository.save(user2);
User user3 = new User();
user3.setName(USER_NAME_ADAM);
userRepository.save(user3);
User user4 = new User();
user4.setName("SAMPLE");
userRepository.save(user4);
try (Stream<User> foundUsersStream = userRepository.findAllByName(USER_NAME_ADAM)) {
assertThat(foundUsersStream.count()).isEqualTo(3l);
}
}
@Test
public void givenUserInDBWhenFindOneByStatusAsyncThenReturnCompletableFutureUser() throws ExecutionException, InterruptedException {
User user = new User();
+20
View File
@@ -17,10 +17,30 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-envers</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>21.0</version>
</dependency>
</dependencies>
</project>
@@ -1,14 +1,17 @@
package com.baeldung;
import com.baeldung.dao.repositories.impl.ExtendedRepositoryImpl;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
@SpringBootApplication
@EnableJpaRepositories(repositoryBaseClass = ExtendedRepositoryImpl.class)
public class Application {
private static ApplicationContext applicationContext;
public static void main(String[] args) {
applicationContext = SpringApplication.run(Application.class, args);
SpringApplication.run(Application.class, args);
}
}
@@ -0,0 +1,102 @@
package com.baeldung.config;
import com.baeldung.services.IBarService;
import com.baeldung.services.impl.BarSpringDataJpaService;
import com.google.common.base.Preconditions;
import com.baeldung.dao.repositories.impl.ExtendedRepositoryImpl;
import com.baeldung.services.IFooService;
import com.baeldung.services.impl.FooService;
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")
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();
}
@Bean
public IFooService fooService() {
return new FooService();
}
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;
}
}
@@ -1,9 +1,6 @@
package org.baeldung.config;
import java.util.HashMap;
import javax.sql.DataSource;
package com.baeldung.config;
import com.google.common.base.Preconditions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -16,16 +13,17 @@ import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.PlatformTransactionManager;
import com.google.common.base.Preconditions;
import javax.sql.DataSource;
import java.util.HashMap;
@Configuration
@PropertySource({ "classpath:persistence-multiple-db.properties" })
@EnableJpaRepositories(basePackages = "org.baeldung.persistence.multiple.dao.product", entityManagerFactoryRef = "productEntityManager", transactionManagerRef = "productTransactionManager")
public class ProductConfig {
@PropertySource({"classpath:persistence-multiple-db.properties"})
@EnableJpaRepositories(basePackages = "com.baeldung.dao.repositories.product", entityManagerFactoryRef = "productEntityManager", transactionManagerRef = "productTransactionManager")
public class PersistenceProductConfiguration {
@Autowired
private Environment env;
public ProductConfig() {
public PersistenceProductConfiguration() {
super();
}
@@ -35,7 +33,7 @@ public class ProductConfig {
public LocalContainerEntityManagerFactoryBean productEntityManager() {
final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
em.setDataSource(productDataSource());
em.setPackagesToScan(new String[] { "org.baeldung.persistence.multiple.model.product" });
em.setPackagesToScan("com.baeldung.domain.product");
final HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
em.setJpaVendorAdapter(vendorAdapter);
@@ -1,9 +1,6 @@
package org.baeldung.config;
import java.util.HashMap;
import javax.sql.DataSource;
package com.baeldung.config;
import com.google.common.base.Preconditions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -17,16 +14,17 @@ import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.PlatformTransactionManager;
import com.google.common.base.Preconditions;
import javax.sql.DataSource;
import java.util.HashMap;
@Configuration
@PropertySource({ "classpath:persistence-multiple-db.properties" })
@EnableJpaRepositories(basePackages = "org.baeldung.persistence.multiple.dao.user", entityManagerFactoryRef = "userEntityManager", transactionManagerRef = "userTransactionManager")
public class UserConfig {
@PropertySource({"classpath:persistence-multiple-db.properties"})
@EnableJpaRepositories(basePackages = "com.baeldung.dao.repositories.user", entityManagerFactoryRef = "userEntityManager", transactionManagerRef = "userTransactionManager")
public class PersistenceUserConfiguration {
@Autowired
private Environment env;
public UserConfig() {
public PersistenceUserConfiguration() {
super();
}
@@ -37,7 +35,7 @@ public class UserConfig {
public LocalContainerEntityManagerFactoryBean userEntityManager() {
final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
em.setDataSource(userDataSource());
em.setPackagesToScan(new String[] { "org.baeldung.persistence.multiple.model.user" });
em.setPackagesToScan("com.baeldung.domain.user");
final HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
em.setJpaVendorAdapter(vendorAdapter);
@@ -0,0 +1,12 @@
package com.baeldung.dao;
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;
public interface IFooDao extends JpaRepository<Foo, Long> {
@Query("SELECT f FROM Foo f WHERE LOWER(f.name) = LOWER(:name)")
Foo retrieveByName(@Param("name") String name);
}
@@ -1,4 +1,4 @@
package com.baeldung.repository;
package com.baeldung.dao.repositories;
import com.baeldung.domain.Article;
import org.springframework.data.jpa.repository.JpaRepository;
@@ -1,15 +1,15 @@
package com.baeldung.repository;
import org.springframework.stereotype.Repository;
import com.baeldung.domain.Item;
@Repository
public interface CustomItemRepository {
void deleteCustom(Item entity);
Item findItemById(Long id);
void findThenDelete(Long id);
}
package com.baeldung.dao.repositories;
import org.springframework.stereotype.Repository;
import com.baeldung.domain.Item;
@Repository
public interface CustomItemRepository {
void deleteCustom(Item entity);
Item findItemById(Long id);
void findThenDelete(Long id);
}
@@ -1,13 +1,13 @@
package com.baeldung.repository;
import org.springframework.stereotype.Repository;
import com.baeldung.domain.ItemType;
@Repository
public interface CustomItemTypeRepository {
void deleteCustom(ItemType entity);
void findThenDelete(Long id);
}
package com.baeldung.dao.repositories;
import org.springframework.stereotype.Repository;
import com.baeldung.domain.ItemType;
@Repository
public interface CustomItemTypeRepository {
void deleteCustom(ItemType entity);
void findThenDelete(Long id);
}
@@ -1,4 +1,4 @@
package org.baeldung.extended.persistence.dao;
package com.baeldung.dao.repositories;
import java.io.Serializable;
import java.util.List;
@@ -8,5 +8,7 @@ import org.springframework.data.repository.NoRepositoryBean;
@NoRepositoryBean
public interface ExtendedRepository<T, ID extends Serializable> extends JpaRepository<T, ID> {
public List<T> findByAttributeContainsText(String attributeName, String text);
List<T> findByAttributeContainsText(String attributeName, String text);
}
@@ -0,0 +1,6 @@
package com.baeldung.dao.repositories;
import com.baeldung.domain.Student;
public interface ExtendedStudentRepository extends ExtendedRepository<Student, Long> {
}
@@ -0,0 +1,10 @@
package com.baeldung.dao.repositories;
import com.baeldung.domain.Bar;
import org.springframework.data.repository.CrudRepository;
import java.io.Serializable;
public interface IBarCrudRepository extends CrudRepository<Bar, Serializable> {
//
}
@@ -1,10 +1,10 @@
package com.baeldung.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import com.baeldung.domain.ItemType;
@Repository
public interface ItemTypeRepository extends JpaRepository<ItemType, Long>, CustomItemTypeRepository, CustomItemRepository {
}
package com.baeldung.dao.repositories;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import com.baeldung.domain.ItemType;
@Repository
public interface ItemTypeRepository extends JpaRepository<ItemType, Long>, CustomItemTypeRepository, CustomItemRepository {
}
@@ -1,4 +1,4 @@
package com.baeldung.repository;
package com.baeldung.dao.repositories;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@@ -1,15 +1,15 @@
package com.baeldung.repository;
import java.util.Optional;
import org.springframework.data.repository.Repository;
import com.baeldung.domain.Location;
@org.springframework.stereotype.Repository
public interface ReadOnlyLocationRepository extends Repository<Location, Long> {
Optional<Location> findById(Long id);
Location save(Location location);
}
package com.baeldung.dao.repositories;
import java.util.Optional;
import org.springframework.data.repository.Repository;
import com.baeldung.domain.Location;
@org.springframework.stereotype.Repository
public interface ReadOnlyLocationRepository extends Repository<Location, Long> {
Optional<Location> findById(Long id);
Location save(Location location);
}
@@ -1,13 +1,13 @@
package com.baeldung.repository;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import com.baeldung.domain.Store;
@Repository
public interface StoreRepository extends JpaRepository<Store, Long> {
List<Store> findStoreByLocationId(Long locationId);
}
package com.baeldung.dao.repositories;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import com.baeldung.domain.Store;
@Repository
public interface StoreRepository extends JpaRepository<Store, Long> {
List<Store> findStoreByLocationId(Long locationId);
}
@@ -1,32 +1,32 @@
package com.baeldung.repository.impl;
import javax.persistence.EntityManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.baeldung.domain.Item;
import com.baeldung.repository.CustomItemRepository;
@Repository
public class CustomItemRepositoryImpl implements CustomItemRepository {
@Autowired
private EntityManager entityManager;
@Override
public void deleteCustom(Item item) {
entityManager.remove(item);
}
@Override
public Item findItemById(Long id) {
return entityManager.find(Item.class, id);
}
@Override
public void findThenDelete(Long id) {
final Item item = entityManager.find(Item.class, id);
entityManager.remove(item);
}
}
package com.baeldung.dao.repositories.impl;
import javax.persistence.EntityManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.baeldung.domain.Item;
import com.baeldung.dao.repositories.CustomItemRepository;
@Repository
public class CustomItemRepositoryImpl implements CustomItemRepository {
@Autowired
private EntityManager entityManager;
@Override
public void deleteCustom(Item item) {
entityManager.remove(item);
}
@Override
public Item findItemById(Long id) {
return entityManager.find(Item.class, id);
}
@Override
public void findThenDelete(Long id) {
final Item item = entityManager.find(Item.class, id);
entityManager.remove(item);
}
}
@@ -1,31 +1,31 @@
package com.baeldung.repository.impl;
import javax.persistence.EntityManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.baeldung.domain.ItemType;
import com.baeldung.repository.CustomItemTypeRepository;
@Repository
public class CustomItemTypeRepositoryImpl implements CustomItemTypeRepository {
private static final Logger LOGGER = LoggerFactory.getLogger(CustomItemTypeRepositoryImpl.class);
@Autowired
private EntityManager entityManager;
@Override
public void deleteCustom(ItemType itemType) {
entityManager.remove(itemType);
}
@Override
public void findThenDelete(Long id) {
ItemType itemTypeToDelete = entityManager.find(ItemType.class, id);
entityManager.remove(itemTypeToDelete);
}
}
package com.baeldung.dao.repositories.impl;
import javax.persistence.EntityManager;
import org.slf4j.Logger;
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;
@Repository
public class CustomItemTypeRepositoryImpl implements CustomItemTypeRepository {
private static final Logger LOGGER = LoggerFactory.getLogger(CustomItemTypeRepositoryImpl.class);
@Autowired
private EntityManager entityManager;
@Override
public void deleteCustom(ItemType itemType) {
entityManager.remove(itemType);
}
@Override
public void findThenDelete(Long id) {
ItemType itemTypeToDelete = entityManager.find(ItemType.class, id);
entityManager.remove(itemTypeToDelete);
}
}
@@ -1,4 +1,4 @@
package org.baeldung.extended.persistence.dao;
package com.baeldung.dao.repositories.impl;
import java.io.Serializable;
import java.util.List;
@@ -10,6 +10,7 @@ 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;
@@ -1,6 +1,6 @@
package org.baeldung.persistence.multiple.dao.product;
package com.baeldung.dao.repositories.product;
import org.baeldung.persistence.multiple.model.product.Product;
import com.baeldung.domain.product.Product;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ProductRepository extends JpaRepository<Product, Integer> {
@@ -1,6 +1,6 @@
package org.baeldung.persistence.multiple.dao.user;
package com.baeldung.dao.repositories.user;
import org.baeldung.persistence.multiple.model.user.Possession;
import com.baeldung.domain.user.Possession;
import org.springframework.data.jpa.repository.JpaRepository;
public interface PossessionRepository extends JpaRepository<Possession, Long> {

Some files were not shown because too many files have changed in this diff Show More