我對如何在HQL中做些什麼感到困惑。HQL中的Collection.contains(Enum.Value)?
所以,假設我有一個Foo類,我堅持休眠。它包含一組枚舉值,像這樣:
public class Foo
{
@CollectionOfElements
private Set<Bar> barSet = new HashSet<Bar>();
//getters and setters here ...
}
和
public enum Bar
{
A,
B
}
是否有HQL語句,我可以用它來只獲取富實例who'se barSet containst Bar.B?
List foos = session.createQuery("from Foo as foo " +
"where foo.barSet.contains.Bar.B").list();
還是我堅持取回所有的Foo實例,並在DAO級過濾出來?
List foos = session.createQuery("from Foo as foo").list();
List results = new ArrayList();
for(Foo f : foos)
{
if(f.barSet.contains(Bar.B))
results.add(f);
}
謝謝!
感謝。我會給這個鏡頭。 – Seth 2010-03-08 21:38:04
這似乎沒有工作......你能指點我如何使用「成員」的教程? – Seth 2010-04-28 20:39:55