Ich habe die unten stehende Tabelle:Wie erstellt man eine JPA-Abfrage?
Ich möchte eine Abfrage mit den folgenden Regeln bilden: product1 Erhalten wo Typ nicht Typ1 und nicht Typ2 und Geschmack ist nicht flavor1.
Typ kann Typ 1, Typ 2 oder Null sein.
gebildet ich meine Abfrage wie folgt:
CriteriaBuilder cb = this.getEntityManager().getCriteriaBuilder();
CriteriaQuery<Product> searchQuery = cb.createQuery(Product.class);
Root<Product> u = searchQuery.from(Product.class);
List<Predicate> predicates = new ArrayList<Predicate>();
predicates.add(cb.and(cb.equal(u.get("product"),"product1"),cb.isNull(u.get("type")),cb.notEqual(u.get("flavor"), "flavor1")));
Das Problem ist, dass diese Abfrage nichts zurück ... Bin ich etwas fehlt? Bitte beachten Sie, dass sich meine Frage auf die Logik und nicht auf die Syntax bezieht, da die Syntax überprüft wird, indem einfachere Abfragen gebildet werden, die Dummy-Ergebnisse liefern. Vielen Dank!
Zuordnung verwandter Entitäten (wahrscheinlich 'Product'- und' Service'-Mappings). Wenn die Basis Ihrer "where-Klausel" AND ist, fügen Sie Ihren "Prädikaten" Prädikate hinzu, ohne in AND zu springen. – Antoniossss