Ok, commençons par "Comment fonctionne Redis"
Redis travaille sur les hachages pour l'identification, ce qui permet de localiser plus rapidement l'enregistrement. @Indexed est également haché et stocké pour localiser plus rapidement l'enregistrement
Donc, par défaut pour MiddleName, la requête "contain" ne fonctionnera pas car le hachage pour la chaîne "Test" ne sera pas contenu dans le hachage pour la chaîne "TestUser".
Mais ExampleMatcher est là à la rescousse.
Source :https://docs.spring.io/spring-data/redis/docs/2.1.2.RELEASE/reference/html/#query-by-example
Solution pour la recherche de nom de rôle sur l'objet de rôle est relativement simple :utilisez cette requête
userRepository.findByRoleRoleName("ADMIN"))(En gros supprimer le trait de soulignement)
Et la bonne nouvelle est qu'il peut être combiné avec l'ExampleMatcher ci-dessus .
Discutons-en si vous avez un doute.
Référence utile pour la recherche de nom de rôle :interroger des objets imbriqués dans Redis à l'aide de Spring Data