diff --git a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepository.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepository.java index 78b6ed24..55da6a68 100644 --- a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepository.java +++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepository.java @@ -25,12 +25,14 @@ import org.springframework.data.jdbc.core.JdbcAggregateOperations; import org.springframework.data.mapping.PersistentEntity; import org.springframework.data.repository.CrudRepository; import org.springframework.data.util.Streamable; +import org.springframework.transaction.annotation.Transactional; /** * @author Jens Schauder * @author Oliver Gierke */ @RequiredArgsConstructor +@Transactional(readOnly = true) public class SimpleJdbcRepository implements CrudRepository { private final @NonNull @@ -43,6 +45,7 @@ public class SimpleJdbcRepository implements CrudRepository { * @see org.springframework.data.repository.CrudRepository#save(S) */ @Override + @Transactional public S save(S instance) { return entityOperations.save(instance); } @@ -52,6 +55,7 @@ public class SimpleJdbcRepository implements CrudRepository { * @see org.springframework.data.repository.CrudRepository#save(java.lang.Iterable) */ @Override + @Transactional public Iterable saveAll(Iterable entities) { return Streamable.of(entities).stream() // @@ -109,6 +113,7 @@ public class SimpleJdbcRepository implements CrudRepository { * @see org.springframework.data.repository.CrudRepository#delete(java.io.Serializable) */ @Override + @Transactional public void deleteById(ID id) { entityOperations.deleteById(id, entity.getType()); } @@ -118,6 +123,7 @@ public class SimpleJdbcRepository implements CrudRepository { * @see org.springframework.data.repository.CrudRepository#delete(java.lang.Object) */ @Override + @Transactional public void delete(T instance) { entityOperations.delete(instance, entity.getType()); } @@ -127,12 +133,14 @@ public class SimpleJdbcRepository implements CrudRepository { * @see org.springframework.data.repository.CrudRepository#delete(java.lang.Iterable) */ @Override + @Transactional @SuppressWarnings("unchecked") public void deleteAll(Iterable entities) { entities.forEach(it -> entityOperations.delete(it, (Class) it.getClass())); } @Override + @Transactional public void deleteAll() { entityOperations.deleteAll(entity.getType()); }