Skip to content

@Modifing not supported by vavr integration [DATAJPA-1827] #2115

Closed
@spring-projects-issues

Description

@spring-projects-issues

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)

Metadata

Metadata

Assignees

Labels

in: coreIssues in core supporttype: bugA general bug

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions