JAVA-32815 Split or move spring-data-jpa-simple (#16322)

Co-authored-by: timis1 <noreplay@yahoo.com>
This commit is contained in:
timis1 2024-04-16 09:59:28 +03:00 committed by GitHub
parent b97a573c15
commit ebd95b4840
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
38 changed files with 73 additions and 78 deletions

View File

@ -8,5 +8,5 @@
- [Differences Between Spring Data JPA findFirst() and findTop()](https://www.baeldung.com/spring-data-jpa-findfirst-vs-findtop)
- [Difference Between findBy and findAllBy in Spring Data JPA](https://www.baeldung.com/spring-data-jpa-find-by-vs-find-all-by)
- [Calling Stored Procedures from Spring Data JPA Repositories](https://www.baeldung.com/spring-data-jpa-stored-procedures)
- [Generate Database Schema with Spring Data JPA](https://www.baeldung.com/spring-data-jpa-generate-db-schema)
- More articles: [[<-- prev]](../spring-data-jpa-repo)

View File

@ -58,6 +58,10 @@
<version>${querydsl.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-ant</artifactId>
</dependency>
</dependencies>
<build>

View File

@ -9,4 +9,5 @@ This module contains articles about Spring Data JPA.
- [Difference Between findBy and findOneBy in Spring Data JPA](https://www.baeldung.com/spring-data-jpa-findby-vs-findoneby)
- [How to Get Last Record in Spring Data JPA](https://www.baeldung.com/spring-data-jpa-last-record)
- [Refresh and Fetch an Entity After Save in JPA](https://www.baeldung.com/spring-data-jpa-refresh-fetch-entity-after-save)
- [Pagination and Sorting using Spring Data JPA](https://www.baeldung.com/spring-data-jpa-pagination-sorting)
- More articles: [[<-- prev]](../spring-data-jpa-repo-2)

View File

@ -32,6 +32,11 @@
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
</dependencies>
<properties>
<start-class>com.baeldung.spring.data.jpa.naturalid.Application</start-class>

View File

@ -1,13 +1,13 @@
package com.baeldung.jpa.paginationsorting;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(scanBasePackages = "com.baeldung.jpa.paginationsorting")
public class PaginationSortingApplication {
public static void main(String[] args) {
SpringApplication.run(PaginationSortingApplication.class, args);
}
}
package com.baeldung.jpa.paginationsorting;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(scanBasePackages = "com.baeldung.jpa.paginationsorting")
public class PaginationSortingApplication {
public static void main(String[] args) {
SpringApplication.run(PaginationSortingApplication.class, args);
}
}

View File

@ -3,6 +3,7 @@
This module contains articles about repositories in Spring Data JPA
### Relevant Articles:
- [Introduction to Spring Data JPA](https://www.baeldung.com/the-persistence-layer-with-spring-data-jpa)
- [Case Insensitive Queries with Spring Data Repository](https://www.baeldung.com/spring-data-case-insensitive-queries)
- [Spring Data CrudRepository save() Method](https://www.baeldung.com/spring-data-crud-repository-save)
- [Spring Data JPA Adding a Method in All Repositories](https://www.baeldung.com/spring-data-jpa-method-in-all-repositories)

View File

@ -1,11 +1,11 @@
package com.baeldung.jpa.simple;
package com.baeldung.simple;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
@SpringBootApplication
@EnableJpaRepositories("com.baeldung.jpa.simple.repository")
@EnableJpaRepositories("com.baeldung.simple.repository")
public class JpaApplication {
public static void main(String[] args) {

View File

@ -1,4 +1,4 @@
package com.baeldung.jpa.simple.config;
package com.baeldung.simple.config;
import java.util.Properties;
@ -32,7 +32,7 @@ public class PersistenceConfig {
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
em.setDataSource(dataSource());
em.setPackagesToScan("com.baeldung.jpa.simple.model");
em.setPackagesToScan("com.baeldung.simple.entity");
final HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
em.setJpaVendorAdapter(vendorAdapter);

View File

@ -1,4 +1,4 @@
package com.baeldung.jpa.simple.model;
package com.baeldung.simple.entity;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;

View File

@ -1,4 +1,4 @@
package com.baeldung.jpa.simple.model;
package com.baeldung.simple.entity;
import java.io.Serializable;

View File

@ -1,4 +1,4 @@
package com.baeldung.jpa.simple.model;
package com.baeldung.simple.entity;
import java.time.ZonedDateTime;

View File

@ -1,11 +1,11 @@
package com.baeldung.jpa.simple.repository;
package com.baeldung.simple.repository;
import java.util.List;
import org.springframework.data.repository.ListCrudRepository;
import org.springframework.stereotype.Repository;
import com.baeldung.jpa.simple.model.Book;
import com.baeldung.simple.entity.Book;
@Repository
public interface BookListRepository extends ListCrudRepository<Book, Long> {

View File

@ -1,4 +1,4 @@
package com.baeldung.jpa.simple.repository;
package com.baeldung.simple.repository;
import java.util.List;
@ -7,7 +7,7 @@ import org.springframework.data.repository.ListCrudRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;
import com.baeldung.jpa.simple.model.Book;
import com.baeldung.simple.entity.Book;
@Repository
public interface BookPagingAndSortingRepository extends PagingAndSortingRepository<Book, Long>, ListCrudRepository<Book, Long> {

View File

@ -1,10 +1,10 @@
package com.baeldung.jpa.simple.repository;
package com.baeldung.simple.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import com.baeldung.jpa.simple.model.Foo;
import com.baeldung.simple.entity.Foo;
public interface IFooDAO extends JpaRepository<Foo, Long> {

View File

@ -1,4 +1,4 @@
package com.baeldung.jpa.simple.repository;
package com.baeldung.simple.repository;
import java.time.ZonedDateTime;
import java.util.Collection;
@ -6,7 +6,7 @@ import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import com.baeldung.jpa.simple.model.User;
import com.baeldung.simple.entity.User;
public interface UserRepository extends JpaRepository<User, Integer>, UserRepositoryCustom {

View File

@ -1,11 +1,11 @@
package com.baeldung.jpa.simple.repository;
package com.baeldung.simple.repository;
import java.util.Collection;
import java.util.List;
import java.util.Set;
import java.util.function.Predicate;
import com.baeldung.jpa.simple.model.User;
import com.baeldung.simple.entity.User;
public interface UserRepositoryCustom {

View File

@ -1,4 +1,4 @@
package com.baeldung.jpa.simple.repository;
package com.baeldung.simple.repository;
import java.util.ArrayList;
import java.util.Collection;
@ -7,7 +7,7 @@ import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import com.baeldung.jpa.simple.model.User;
import com.baeldung.simple.entity.User;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;

View File

@ -1,10 +1,10 @@
package com.baeldung.jpa.simple.service;
package com.baeldung.simple.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baeldung.jpa.simple.model.Foo;
import com.baeldung.jpa.simple.repository.IFooDAO;
import com.baeldung.simple.entity.Foo;
import com.baeldung.simple.repository.IFooDAO;
@Service
public class FooService implements IFooService {

View File

@ -0,0 +1,7 @@
package com.baeldung.simple.service;
import com.baeldung.simple.entity.Foo;
public interface IFooService {
Foo create(Foo foo);
}

View File

@ -1,16 +1,15 @@
package com.baeldung.jpa.simple;
import static org.junit.jupiter.api.Assertions.assertEquals;
package com.baeldung.simple;
import java.util.Arrays;
import java.util.List;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import com.baeldung.jpa.simple.model.Book;
import com.baeldung.jpa.simple.repository.BookListRepository;
import com.baeldung.simple.entity.Book;
import com.baeldung.simple.repository.BookListRepository;
@SpringBootTest(classes = JpaApplication.class)
class BookListRepositoryIntegrationTest {
@ -26,6 +25,6 @@ class BookListRepositoryIntegrationTest {
bookListRepository.saveAll(Arrays.asList(book1, book2, book3));
List<Book> books = bookListRepository.findBooksByAuthor("John Doe");
assertEquals(3, books.size());
Assertions.assertEquals(3, books.size());
}
}

View File

@ -1,11 +1,9 @@
package com.baeldung.jpa.simple;
import static org.junit.jupiter.api.Assertions.assertEquals;
package com.baeldung.simple;
import java.util.Arrays;
import java.util.List;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@ -13,8 +11,8 @@ import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import com.baeldung.jpa.simple.model.Book;
import com.baeldung.jpa.simple.repository.BookPagingAndSortingRepository;
import com.baeldung.simple.entity.Book;
import com.baeldung.simple.repository.BookPagingAndSortingRepository;
@SpringBootTest
class BookPagingAndSortingRepositoryIntegrationTest {
@ -31,8 +29,8 @@ class BookPagingAndSortingRepositoryIntegrationTest {
Pageable pageable = PageRequest.of(0, 2, Sort.by("title").descending());
List<Book> books = bookPagingAndSortingRepository.findBooksByAuthor("John Miller", pageable);
assertEquals(2, books.size());
assertEquals(book3.getId(), books.get(0).getId());
assertEquals(book2.getId(), books.get(1).getId());
Assertions.assertEquals(2, books.size());
Assertions.assertEquals(book3.getId(), books.get(0).getId());
Assertions.assertEquals(book2.getId(), books.get(1).getId());
}
}

View File

@ -1,4 +1,4 @@
package com.baeldung.jpa.simple;
package com.baeldung.simple;
import javax.sql.DataSource;
@ -10,8 +10,8 @@ import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
import com.baeldung.jpa.simple.model.Foo;
import com.baeldung.jpa.simple.service.IFooService;
import com.baeldung.simple.entity.Foo;
import com.baeldung.simple.service.IFooService;
@RunWith(SpringRunner.class)
@ContextConfiguration(classes = { JpaApplication.class})

View File

@ -1,4 +1,4 @@
package com.baeldung.jpa.simple;
package com.baeldung.simple;
import static org.junit.jupiter.api.Assertions.assertEquals;
@ -14,8 +14,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import com.baeldung.jpa.simple.model.User;
import com.baeldung.jpa.simple.repository.UserRepository;
import com.baeldung.simple.entity.User;
import com.baeldung.simple.repository.UserRepository;
@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = JpaApplication.class)

View File

@ -8,13 +8,10 @@ This module contains articles about Spring Data JPA that are also part of an Ebo
Since this is a module tied to an e-book, it should **not** be moved or used to store the code for any further article.
### Relevant Articles
- [Introduction to Spring Data JPA](https://www.baeldung.com/the-persistence-layer-with-spring-data-jpa)
- [Customizing the Result of JPA Queries with Aggregation Functions](https://www.baeldung.com/jpa-queries-custom-result-with-aggregation-functions)
- [CrudRepository, JpaRepository, and PagingAndSortingRepository in Spring Data](https://www.baeldung.com/spring-data-repositories)
- [New CRUD Repository Interfaces in Spring Data 3](https://www.baeldung.com/spring-data-3-crud-repository-interfaces)
- [Derived Query Methods in Spring Data JPA Repositories](https://www.baeldung.com/spring-data-derived-queries)
- [Spring Data JPA @Query](https://www.baeldung.com/spring-data-jpa-query)
- [Spring Data JPA Projections](https://www.baeldung.com/spring-data-jpa-projections)
- [Spring Data JPA @Modifying Annotation](https://www.baeldung.com/spring-data-jpa-modifying-annotation)
- [Generate Database Schema with Spring Data JPA](https://www.baeldung.com/spring-data-jpa-generate-db-schema)
- [Pagination and Sorting using Spring Data JPA](https://www.baeldung.com/spring-data-jpa-pagination-sorting)
- [Spring Data JPA @Modifying Annotation](https://www.baeldung.com/spring-data-jpa-modifying-annotation)

View File

@ -43,21 +43,11 @@
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>${jakarta.xml.bind.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-ant</artifactId>
<version>${hibernate.version}</version>
</dependency>
</dependencies>
<properties>

View File

@ -1,7 +0,0 @@
package com.baeldung.jpa.simple.service;
import com.baeldung.jpa.simple.model.Foo;
public interface IFooService {
Foo create(Foo foo);
}