[英]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.