sql >> Databasteknik >  >> NoSQL >> Redis

Orsakad av:java.lang.IllegalArgumentException:CONTAINING (1):[IsContaining, Containing, Contains]stöds inte för redis-frågederivation - Redis

Ok, låt oss börja från "How Redis Work"

Redis arbete på hashes för ID som hjälper till att snabbare lokalisera posten.@Indexed hashas och lagras också för snabbare pin-pointing posten.

Så som standard för MiddleName kommer "contain"-frågan inte att fungera eftersom Hash för "Test"-strängen inte kommer att finnas i Hash för String "TestUser".

Men ExampleMatcher är här för att rädda.

Källa:https://docs.spring.io/spring-data/redis/docs/2.1.2.RELEASE/reference/html/#query-by-example

Lösning för rollnamnsökning på rollobjekt är relativt enkelt:Använd den här frågan

userRepository.findByRoleRoleName("ADMIN")(Ta bort understrecket i princip)

Och goda nyheter är att det kan kombineras med ovanstående ExampleMatcher .

Låt oss diskutera om du tvivlar.

Användbar referens för rollnamnsökning:Fråga kapslade objekt i Redis med hjälp av Spring Data



  1. MongoDB $last Aggregation Pipeline Operator

  2. NodeJS - anslut säkert till extern redis-server

  3. Hur man hittar slumpmässiga poster i Mongoose

  4. Spring Boot redis Template autokabelkoppling misslyckades