同じ列名に対して、以下の@Where節に1つ以上のLIKE演算子を追加したいとします。しかし、OR/AND演算子でLIKEを追加すると、正確な結果が得られません。 正確な値を得るためにこのシナリオをどのように単純化できますか?Hibernate - SQLアノテーション同じ列名に複数のLIKE演算子がある@Where節
以下の私のコードを見つけてください。それは意志
@Where(clause="name NOT LIKE '%long%' AND name LIKE '%description' AND name
LIKE '%source%'")
@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;
}
私が使用している場合は、オペレータが、いくつかのレコードのnullポインタ例外を提供します。私が使用OR演算子
@Where(clause="name NOT LIKE '%long%' AND name LIKE '%description' OR
name LIKE '%source%'")
場合
はここにいくつかの値をしないのです。
このシナリオを解決するにはどうすればよいでしょうか?クエリ上
それ以外の方法で両方のケースを組み合わせることはできますか。意味がないものがあれば、結果は見逃せません。 – Karthikeyan