Description
Juan Pablo Bochard opened DATAJPA-1827 and commented
I'm working with spring-boot 2.3.5.RELEASE and vavr 0.10.3 and I have this error when I try to invoke the method disableEnabledCredentials() defined in this way:
public interface ICredentialDAO extends Repository<Credential, String> {
@Modifying
@Query("update Credential d set d.enabled = false where d.enabled = true")
Try<Integer> disableEnabledCredentials();
Option<Credential> findByEnabled(boolean enabled);
Try<Credential> save(Credential credential);
}
When I invoke the disableEnabledCredentials() method I get the following error:
"Modifying queries can only use void or int/Integer as return type!"; nested exception is java.lang.IllegalArgumentException: Modifying queries can only use void or int/Integer as return type!
I know that vavr is supported by spring-data-jpa because I has using this features in other methods as findByEnabled() or save().
The support by vavr should't include @Modifying
allowing return of Try<Void> or Try<Integer>?
My pom includes:
<properties>
<spring-boot-dependencies.version>2.3.5.RELEASE</spring-boot-dependencies.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot-dependencies.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>io.vavr</groupId>
<artifactId>vavr</artifactId>
<version>0.10.3</version>
</dependency>
Affects: 2.3.5 (Neumann SR5)
Referenced from: pull request #438
Backported to: 2.4.3 (2020.0.3), 2.3.7 (Neumann SR7)