Ich habe ein Unternehmen mit einem Map<String,string>
von specifications
holen:Benutzerdefinierte Frühling JPA-Abfrage eine Karte
class Product {
Map<String, String> specifications;
}
Ich habe eine benutzerdefinierte Abfrage mit 2 Parametern (Schlüssel, Wert) erstellen, die alle Produkte holen, wo Spezifikationen mit Schlüssel gleich einem Wert.
Zum Beispiel fetch Produkte mit roter Farbe (Pseudocode):
Schleife durch Produkte;
Produkt holen;
Join Spezifikationen;
Wert mit Schlüssel 'Farbe' erhalten und mit gegebenem Wert 'rot' vergleichen; zur Ausgabe hinzufügen wenn wahr; nächstes Produkt;
habe ich versucht, diese Anfrage:
@Query("SELECT p FROM Products p LEFT JOIN FETCH p.specifications, p.reviews WHERE p.specifications.?1 = ?2")
Aber offensichtlich ist es nicht funktioniert.
"es nicht funktioniert". "offensichtlich". Du erzählst uns wirklich viel. "d.spezifikationen.?1" ist eindeutig JPQL ungültig. –