Добре, нека започнем от „Как работи Redis“
Redis работи върху хешове за идентификатор, което помага за по-бързото местоположение на записа. @Indexed също се хешира и съхранява за по-бързо насочване на записа
Така че по подразбиране за MiddleName заявката „contain“ няма да работи, тъй като Hash за низ „Test“ няма да се съдържа в Hash за низ „TestUser“.
Но ExampleMatcher е тук, за да спаси.
Източник:https://docs.spring.io/spring-data/redis/docs/2.1.2.RELEASE/reference/html/#query-by-example
Решение за търсене RoleName на Role Object е сравнително проста:Използвайте тази заявка
userRepository.findByRoleRoleName("ADMIN")(По принцип премахнете долната черта)
И добрата новина е, че може да се комбинира с горния ExampleMatcher .
Нека обсъдим, ако имате съмнения.
Полезна справка за търсене на RoleName:Заявка за вложени обекти в Redis с помощта на Spring Data