簡體   English   中英

在Hibernate Criteria OR查詢中遍歷關聯

[英]Traversing associations inside of a Hibernate Criteria OR query

我有兩個看起來像這樣的對象:

public class Foo{
    List<Bar> bars;
    String name;
}

public class Bar {
    String value;
}

我想使用Hibernate Criteria API進行包含Foo兩個屬性的OR查詢。 具體而言,我想選擇所有的Foos是有name “someValue中”還是有Bar在他們的bars收集具有value “anothervalue”的。

我知道如何獨立進行這些操作:

createCriteria(Foo.class).add(Restrictions.eq("name","somevalue"));

and

createCriteria(Foo.class).createCriteria("bars").add(Restrictions.eq("value","anothervalue"));

(從這里拍攝)

但是,當我嘗試將它們放在Restrictions.or()語句的任一側時,它給了我一個編譯錯誤。 因此,我的問題是:使用Criteria甚至可能實現此目標,還是必須使用HQL或純SQL?

只是從我的頭頂將這項工作,?

Criteria criteria = session.createCriteria(Foo.class);
criteria.createAlias("bars", "bar");
String value = "somevalue";
criteria.add(Restrictions.or(Restrictions.eq("name", value), Restrictions.eq("bar.name", value)));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM