Closed
Description
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