Ich bin ein wenig verwirrt über etwas in HQL zu tun.Collection.contains (Enum.Value) in HQL?
Also sagen wir, ich habe eine Klasse Foo, die ich im Winterschlaf persistiere. Es enthält eine Reihe von ENUM-Werte, etwa so:
public class Foo
{
@CollectionOfElements
private Set<Bar> barSet = new HashSet<Bar>();
//getters and setters here ...
}
und
public enum Bar
{
A,
B
}
Gibt es eine HQL Aussage, die ich nur Foo Instanzen holen können who'se Barset Bar.B containst?
Oder bin ich fest, alle Foo-Instanzen zu holen und sie auf der DAO-Ebene ausfiltern?
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);
}
Vielen Dank!
Dank. Ich gebe das eine Chance. – Seth
Dies scheint nicht zu funktionieren ... können Sie mich auf ein Tutorial zur Verwendung von "Mitglied von" zeigen? – Seth