Ich möchte einen oder mehrere LIKE-Operator in der folgenden @ Where-Klausel für den gleichen Spaltennamen hinzufügen. Aber wenn ich LIKE mit OR/AND-Operator hinzufüge, bekomme ich nicht das genaue Ergebnis. Wie kann ich dieses Szenario vereinfachen, um den genauen Wert zu erhalten.Hibernate - SQL-Annotation @Where-Klausel mit mehreren LIKE-Operator für den gleichen Spaltennamen
Hier finden Sie meinen Code unten.
@OneToMany(mappedBy = "product", cascade = CascadeType.ALL)
@Where(clause="name NOT LIKE '%long%' AND name LIKE '%description'")
private List<ProductAttr> productAttr;
public List<ProductAttr> getProductAttr() {
return productAttr;
}
public void setProductAttr(List<ProductAttr> productAttr) {
this.productAttr = productAttr;
}
Wenn ich AND Operator
@Where(clause="name NOT LIKE '%long%' AND name LIKE '%description' AND name
LIKE '%source%'")
wird es gibt Null-Zeiger-Ausnahme für einige Datensätze.
Wenn i OR Operator verwenden
@Where(clause="name NOT LIKE '%long%' AND name LIKE '%description' OR
name LIKE '%source%'")
hier einige Werte Fehle.
Was ist der beste Ansatz, um dieses Szenario zu lösen?
Ist das eine andere Möglichkeit, beide Fälle zusammen zu kombinieren. Mittel, Abfrageergebnis sollte keine Ergebnisse verpassen, wenn etwas nicht verfügbar ist. – Karthikeyan