Skip to content

Exists method throws "SELECT does not declare a select list" #773

Closed
@bskorka

Description

@bskorka

In my app I have two R2dbcRepository - one for object with Long ID, second with String ID.

@Repository
public interface ObjectARepository extends R2dbcRepository<ObjectA, Long> {

    Mono<Boolean> existsObjectAByFieldAAndFieldB(Integer fieldA, EnumName fieldB);

}
@Repository
public interface ObjectBRepository extends R2dbcRepository<ObjectB, String> {

    Mono<Boolean> existsObjectBByFieldAAndFieldB(String fieldA, Integer fieldB);

}

When I try to test it I'm getting - java.lang.IllegalStateException: SELECT does not declare a select list for ObjectBRepository while everything works fine for ObjectARepository.

If I write query for second repository like that:

@Query("SELECT EXISTS(SELECT * FROM objectBTable WHERE fieldA = :fieldA AND fieldB = :fieldB);")
    Mono<Boolean> existsObjectBByFieldAAndFieldB(String fieldA, Integer fieldB);

It works.

Are there any differences for a repositories where ID is Long and String? Or it may be related to something else?

Spring Boot version - 2.7.1
io.spring.dependency-management version - 1.0.11.RELEASE
MariaDB version - 10.5.12

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions