Ok, comencemos desde "Cómo funciona Redis"
Redis trabaja en hashes para ID, lo que ayuda a una ubicación más rápida del registro.@Indexed también se codifica y almacena para localizar el registro con mayor rapidez
Por lo tanto, de forma predeterminada para MiddleName, la consulta "contain" no funcionará, ya que el Hash para la cadena "Test" no estará contenido en el Hash para la cadena "TestUser".
Pero ExampleMatcher está aquí al rescate.
Fuente:https://docs.spring.io/spring-data/redis/docs/2.1.2.RELEASE/reference/html/#query-by-example
Solución para la búsqueda de RoleName en Role Object es relativamente simple:use esta consulta
userRepository.findByRoleRoleName("ADMIN"))(Básicamente elimina el guión bajo)
Y la buena noticia es que se puede combinar con el ExampleMatcher anterior. .
Hablemos si tienes dudas.
Referencia útil para la búsqueda de RoleName:consulta de objetos anidados en Redis usando Spring Data