Dobře, začněme od „Jak Redis funguje“
Redis pracuje na Hashe pro ID, který pomáhá rychleji lokalizovat záznam.@Indexed je také hašován a uložen pro rychlejší určení záznamu
Ve výchozím nastavení tedy pro MiddleName dotaz „contain“ nebude fungovat, protože hash pro řetězec „Test“ nebude obsažen v Hash pro řetězec „TestUser“.
Ale ExampleMatcher je tady, aby zachránil.
Zdroj:https://docs.spring.io/spring-data/redis/docs/2.1.2.RELEASE/reference/html/#query-by-example
Řešení pro vyhledávání RoleName v objektu role je poměrně jednoduchý:Použijte tento dotaz
userRepository.findByRoleRoleName("ADMIN")(V podstatě odstraňte podtržítko)
A dobrou zprávou je, že jej lze kombinovat s výše uvedeným ExampleMatcher .
Promluvme si, pokud máte pochybnosti.
Užitečná příručka pro vyhledávání RoleName:Dotazování na vnořené objekty v Redis pomocí Spring Data