Ok, vamos começar em "Como funciona o Redis"
O Redis trabalha em Hashes para ID, o que ajuda na localização mais rápida do registro. @Indexed também é criptografado e armazenado para localizar o registro com mais rapidez
Portanto, por padrão para MiddleName, a consulta "contain" não funcionará, pois o Hash para a string "Test" não estará contido no Hash para a string "TestUser".
Mas ExampleMatcher está aqui para o resgate.
Fonte:https://docs.spring.io/spring-data/redis/docs/2.1.2.RELEASE/reference/html/#query-by-example
Solução para pesquisa RoleName no objeto Role é relativamente simples:use esta consulta
userRepository.findByRoleRoleName("ADMIN")(Basicamente remova o sublinhado)
E a boa notícia é que ele pode ser combinado com o ExampleMatcher acima .
Vamos discutir se você tiver dúvidas.
Referência útil para pesquisa RoleName :Consultar objetos aninhados no Redis usando Spring Data