diff --git a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/query/Lock.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/query/Lock.java index 0ef95ca0f..1fd310b85 100644 --- a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/query/Lock.java +++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/query/Lock.java @@ -34,6 +34,6 @@ public @interface Lock { /** * Defines which type of {@link LockMode} we want to use. */ - LockMode value() default LockMode.PESSIMISTIC_READ; + LockMode value(); } diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIntegrationTests.java index 70391a68a..048a78a5d 100644 --- a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIntegrationTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIntegrationTests.java @@ -335,6 +335,7 @@ public class JdbcRepositoryIntegrationTests { @Test void findAllByFirstnameWithLock() { + DummyEntity dummyEntity = createDummyEntity(); repository.save(dummyEntity); assertThat(repository.findAllByName(dummyEntity.getName())).hasSize(1); diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/query/JdbcQueryMethodUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/query/JdbcQueryMethodUnitTests.java index d30a3cdb2..a707f854a 100644 --- a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/query/JdbcQueryMethodUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/query/JdbcQueryMethodUnitTests.java @@ -25,7 +25,6 @@ import java.util.Properties; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; - import org.springframework.data.jdbc.core.mapping.JdbcMappingContext; import org.springframework.data.projection.ProjectionFactory; import org.springframework.data.relational.core.sql.LockMode; @@ -123,28 +122,31 @@ public class JdbcQueryMethodUnitTests { } @Test // GH-1041 - void returnsQueryMethodWithLock() throws NoSuchMethodException { + void returnsQueryMethodWithCorrectLockTypeWriteLock() throws NoSuchMethodException { JdbcQueryMethod queryMethodWithWriteLock = createJdbcQueryMethod("queryMethodWithWriteLock"); - JdbcQueryMethod queryMethodWithReadLock = createJdbcQueryMethod("queryMethodWithReadLock"); - assertThat(queryMethodWithWriteLock.hasLockMode()).isTrue(); - assertThat(queryMethodWithReadLock.hasLockMode()).isTrue(); + assertThat(queryMethodWithWriteLock.lookupLockAnnotation()).isPresent(); + assertThat(queryMethodWithWriteLock.lookupLockAnnotation().get().value()).isEqualTo(LockMode.PESSIMISTIC_WRITE); } @Test // GH-1041 - void returnsQueryMethodWithCorrectLockType() throws NoSuchMethodException { + void returnsQueryMethodWithCorrectLockTypeReadLock() throws NoSuchMethodException { - JdbcQueryMethod queryMethodWithWriteLock = createJdbcQueryMethod("queryMethodWithWriteLock"); JdbcQueryMethod queryMethodWithReadLock = createJdbcQueryMethod("queryMethodWithReadLock"); - assertThat(queryMethodWithWriteLock.lookupLockAnnotation()).isPresent(); assertThat(queryMethodWithReadLock.lookupLockAnnotation()).isPresent(); - - assertThat(queryMethodWithWriteLock.lookupLockAnnotation().get().value()).isEqualTo(LockMode.PESSIMISTIC_WRITE); assertThat(queryMethodWithReadLock.lookupLockAnnotation().get().value()).isEqualTo(LockMode.PESSIMISTIC_READ); } + @Test // GH-1041 + void returnsQueryMethodWithCorrectLockTypeNoLock() throws NoSuchMethodException { + + JdbcQueryMethod queryMethodWithWriteLock = createJdbcQueryMethod("queryMethodName"); + + assertThat(queryMethodWithWriteLock.lookupLockAnnotation()).isEmpty(); + } + @Lock(LockMode.PESSIMISTIC_WRITE) @Query private void queryMethodWithWriteLock() {}