DATAJDBC-124 - findById now returns Optional.empty when no data is found.

The uderlying JdbcEntityTemplate still throws exceptions coming from the NamedParameterJdbcTemplate.
This commit is contained in:
Jens Schauder
2017-08-15 07:14:08 +02:00
committed by Greg Turnquist
parent 1f2dc16d05
commit 2067fb6952
2 changed files with 14 additions and 2 deletions

View File

@@ -19,9 +19,9 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.data.jdbc.core.JdbcEntityOperations;
import org.springframework.data.jdbc.core.JdbcEntityTemplate;
import org.springframework.data.jdbc.mapping.model.JdbcPersistentEntity;
import org.springframework.data.jdbc.mapping.model.JdbcPersistentEntityInformation;
import org.springframework.data.repository.CrudRepository;
@@ -76,7 +76,11 @@ public class SimpleJdbcRepository<T, ID> implements CrudRepository<T, ID> {
@Override
public Optional<T> findById(ID id) {
return Optional.ofNullable(entityOperations.findById(id, entityInformation.getJavaType()));
try {
return Optional.of(entityOperations.findById(id, entityInformation.getJavaType()));
} catch (EmptyResultDataAccessException ex) {
return Optional.empty();
}
}
/*