diff --git a/pom.xml b/pom.xml
index 04c71fe23e..d7adb44e78 100755
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data
spring-data-jpa-parent
- 4.1.0-SNAPSHOT
+ 4.1.0-4131-SNAPSHOT
pom
Spring Data JPA Parent
diff --git a/spring-data-envers/pom.xml b/spring-data-envers/pom.xml
index c54fa73c20..e8000d7e33 100755
--- a/spring-data-envers/pom.xml
+++ b/spring-data-envers/pom.xml
@@ -5,12 +5,12 @@
org.springframework.data
spring-data-envers
- 4.1.0-SNAPSHOT
+ 4.1.0-4131-SNAPSHOT
org.springframework.data
spring-data-jpa-parent
- 4.1.0-SNAPSHOT
+ 4.1.0-4131-SNAPSHOT
../pom.xml
diff --git a/spring-data-jpa-distribution/pom.xml b/spring-data-jpa-distribution/pom.xml
index 954a3a249b..e77ac64ef0 100644
--- a/spring-data-jpa-distribution/pom.xml
+++ b/spring-data-jpa-distribution/pom.xml
@@ -14,7 +14,7 @@
org.springframework.data
spring-data-jpa-parent
- 4.1.0-SNAPSHOT
+ 4.1.0-4131-SNAPSHOT
../pom.xml
diff --git a/spring-data-jpa/pom.xml b/spring-data-jpa/pom.xml
index d26ca6b94b..708c402216 100644
--- a/spring-data-jpa/pom.xml
+++ b/spring-data-jpa/pom.xml
@@ -7,7 +7,7 @@
org.springframework.data
spring-data-jpa
- 4.1.0-SNAPSHOT
+ 4.1.0-4131-SNAPSHOT
Spring Data JPA
Spring Data module for JPA repositories.
@@ -16,7 +16,7 @@
org.springframework.data
spring-data-jpa-parent
- 4.1.0-SNAPSHOT
+ 4.1.0-4131-SNAPSHOT
../pom.xml
diff --git a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java
index 6324bd44b4..b5ada52603 100644
--- a/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java
+++ b/spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/support/SimpleJpaRepository.java
@@ -167,7 +167,7 @@ public SimpleJpaRepository(Class domainClass, EntityManager entityManager) {
* Configures a custom {@link CrudMethodMetadata} to be used to detect {@link LockModeType}s and query hints to be
* applied to queries.
*
- * @param metadata
+ * @param metadata custom {@link CrudMethodMetadata} to be used, can be {@literal null}.
*/
@Override
public void setRepositoryMethodMetadata(CrudMethodMetadata metadata) {
@@ -203,7 +203,6 @@ public void deleteById(ID id) {
@Override
@Transactional
- @SuppressWarnings("unchecked")
public void delete(T entity) {
Assert.notNull(entity, ENTITY_MUST_NOT_BE_NULL);
@@ -334,13 +333,13 @@ public Optional findById(ID id) {
Class domainType = getDomainClass();
if (metadata == null) {
- return Optional.ofNullable(entityManager.find(domainType, id));
+ return Optional.of(entityManager.find(domainType, id));
}
LockModeType type = metadata.getLockModeType();
Map hints = getHints();
- return Optional.ofNullable(
+ return Optional.of(
type == null ? entityManager.find(domainType, id, hints) : entityManager.find(domainType, id, type, hints));
}
@@ -458,7 +457,7 @@ public Page findAll(Pageable pageable) {
@Override
public Optional findOne(Specification spec) {
- return Optional.ofNullable(getQuery(spec, Sort.unsorted()).setMaxResults(2).getSingleResultOrNull());
+ return Optional.of(getQuery(spec, Sort.unsorted()).setMaxResults(2).getSingleResultOrNull());
}
@Override
@@ -474,6 +473,8 @@ public Page findAll(Specification spec, Pageable pageable) {
@Override
public Page findAll(@Nullable Specification spec, @Nullable Specification countSpec, Pageable pageable) {
+ spec = spec == null ? Specification.unrestricted() : spec;
+
TypedQuery query = getQuery(spec, pageable);
return pageable.isUnpaged() ? new PageImpl<>(query.getResultList())
: readPage(query, getDomainClass(), pageable, countSpec);
@@ -752,7 +753,7 @@ protected Page readPage(TypedQuery query, Class domainCla
* @param spec must not be {@literal null}.
* @param pageable must not be {@literal null}.
*/
- protected TypedQuery getQuery(@Nullable Specification spec, Pageable pageable) {
+ protected TypedQuery getQuery(Specification spec, Pageable pageable) {
return getQuery(spec, getDomainClass(), pageable.getSort());
}
@@ -784,7 +785,7 @@ protected TypedQuery getQuery(Specification spec, Sort sort) {
* @param domainClass must not be {@literal null}.
* @param sort must not be {@literal null}.
*/
- protected TypedQuery getQuery(@Nullable Specification spec, Class domainClass, Sort sort) {
+ protected TypedQuery getQuery(Specification spec, Class domainClass, Sort sort) {
return getQuery(ReturnedType.of(domainClass, domainClass, projectionFactory), spec, domainClass, sort,
Collections.emptySet(), null);
}