Closed
Description
I have define a query as
public Mono<IMember> findById(final String id) {
final Query query = Query
.query(CriteriaBuilder.buildIdQuery(id));
return entityTemplate.select(MemberBo.class)
.from(TABLE__MEMBER)
.as(IMember.class)
.matching(query)
.first();
}
while IMember
is the super interface of MemberBo
.
The query can correctly run at version 3.1.5 of spring-data-r2dbc
, but throws exception after upgrade to version 3.2.0
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.member.api.bean.IMember]: Specified class is an interface
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:137) ~[spring-beans-6.1.1.jar:6.1.1]
at org.springframework.data.mapping.model.ReflectionEntityInstantiator.instantiateClass(ReflectionEntityInstantiator.java:139) ~[spring-data-commons-3.2.0.jar:3.2.0]
at org.springframework.data.mapping.model.ReflectionEntityInstantiator.createInstance(ReflectionEntityInstantiator.java:57) ~[spring-data-commons-3.2.0.jar:3.2.0]
at org.springframework.data.mapping.model.ClassGeneratingEntityInstantiator.createInstance(ClassGeneratingEntityInstantiator.java:98) ~[spring-data-commons-3.2.0.jar:3.2.0]
at org.springframework.data.relational.core.conversion.MappingRelationalConverter.read(MappingRelationalConverter.java:454) ~[spring-data-relational-3.2.0.jar:3.2.0]
at org.springframework.data.relational.core.conversion.MappingRelationalConverter.readAggregate(MappingRelationalConverter.java:348) ~[spring-data-relational-3.2.0.jar:3.2.0]
at org.springframework.data.relational.core.conversion.MappingRelationalConverter.readAggregate(MappingRelationalConverter.java:311) ~[spring-data-relational-3.2.0.jar:3.2.0]
at org.springframework.data.relational.core.conversion.MappingRelationalConverter.read(MappingRelationalConverter.java:298) ~[spring-data-relational-3.2.0.jar:3.2.0]
at org.springframework.data.relational.core.conversion.MappingRelationalConverter.read(MappingRelationalConverter.java:294) ~[spring-data-relational-3.2.0.jar:3.2.0]
at org.springframework.data.r2dbc.core.R2dbcEntityTemplate.lambda$getRowsFetchSpec$13(R2dbcEntityTemplate.java:795) ~[spring-data-r2dbc-3.2.0.jar:3.2.0]
at io.r2dbc.proxy.callback.ResultCallbackHandler.lambda$invoke$0(ResultCallbackHandler.java:92) ~[r2dbc-proxy-1.1.2.RELEASE.jar:1.1.2.RELEASE]
at io.asyncer.r2dbc.mysql.MySqlResult.lambda$map$1(MySqlResult.java:87) ~[r2dbc-mysql-1.0.5.jar:1.0.5]
at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onNext(FluxHandleFuseable.java:179) ~[reactor-core-3.6.0.jar:3.6.0]
at reactor.core.publisher.FluxHandleFuseable$HandleFuseableConditionalSubscriber.onNext(FluxHandleFuseable.java:505) ~[reactor-core-3.6.0.jar:3.6.0]
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107) ~[reactor-core-3.6.0.jar:3.6.0]