graphql-java-tools
                                
                                 graphql-java-tools copied to clipboard
                                
                                    graphql-java-tools copied to clipboard
                            
                            
                            
                        ResolverError when using @Cacheable
I am unable to use @Caching with GraphQL on Spring Boot 2.
It works fines when cache hasn't been created, but when cache exists and I request it, I get this error:
com.coxautodev.graphql.tools.ResolverError: Expected source object to be an instance of 'com.xpt.frf.model.Entry' but instead got 'com.xpt.frf.model.Entry' at com.coxautodev.graphql.tools.FieldResolver$getSourceResolver$2.invoke(FieldResolver.kt:27) ~[graphql-java-tools-5.3.3.jar:na] at com.coxautodev.graphql.tools.FieldResolver$getSourceResolver$2.invoke(FieldResolver.kt:10) ~[graphql-java-tools-5.3.3.jar:na] at com.coxautodev.graphql.tools.MethodFieldResolverDataFetcher.get(MethodFieldResolver.kt:150) ~[graphql-java-tools-5.3.3.jar:na]
My service is as follows:
 @Cacheable("entries")
    override fun findAll(pageable: Pageable): Page<Entry> {
        return entryRepository.findAll(pageable)
    }
Schema:
type EntryPagedResponse implements PagedResult {
    content: [Entry]
    totalPages: Int
    totalElements: Int
    page: Int
    itemsPerPage: Int
}
interface PagedResult{
    totalPages: Int
    totalElements: Int
    page: Int
    itemsPerPage: Int
}
type Query {
    #List all available entries
    entries(
    page: Int, limit: Int,
    sort: Sort
): EntryPagedResponse
@Component
class EntriesResolver : GraphQLQueryResolver {
    @Autowired
    lateinit var entryService: EntryService
    fun entries(page: Int?, limit: Int?, sort: com.xpt.frf.model.Sort?, env: DataFetchingEnvironment): EntryPagedResponse {
       
        val pageable = if (sort != null) PageRequest.of(page ?: 0, limit
                ?: 20, Sort.by(if (sort.desc) Sort.Direction.DESC else Sort.Direction.ASC, sort.field))
        else PageRequest.of(page ?: 0, limit ?: 20)
        val results = entryService.findAll(pageable)
        return EntryPagedResponse(results.content, pageable.pageNumber, pageable.pageSize, results.totalPages, results.totalElements)
    }
}
open class EntryPagedResponse(content: List<Entry>, page: Int, itemsPerPage: Int, totalPages: Int?, totalElements: Long?) :
        PagedResponse<List<Entry>>(content, page, itemsPerPage, totalPages, totalElements)
open class PagedResponse<out T>(val content: T?, val page: Int, val itemsPerPage: Int, val totalPages: Int?, val totalElements: Long?) : Serializable
It works fine without the @Cacheable annotation.
Anyone knows how to fix this error? Many thanks