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 17d25a923..2e3171aa6 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 @@ -333,13 +333,13 @@ public class SimpleJpaRepository implements JpaRepositoryImplementation domainType = getDomainClass(); if (metadata == null) { - return Optional.of(entityManager.find(domainType, id)); + return Optional.ofNullable(entityManager.find(domainType, id)); } LockModeType type = metadata.getLockModeType(); Map hints = getHints(); - return Optional.of( + return Optional.ofNullable( type == null ? entityManager.find(domainType, id, hints) : entityManager.find(domainType, id, type, hints)); } @@ -457,7 +457,7 @@ public class SimpleJpaRepository implements JpaRepositoryImplementation findOne(Specification spec) { - return Optional.of(getQuery(spec, Sort.unsorted()).setMaxResults(2).getSingleResultOrNull()); + return Optional.ofNullable(getQuery(spec, Sort.unsorted()).setMaxResults(2).getSingleResultOrNull()); } @Override