Sono un po 'confuso su come fare qualcosa in HQL.Collection.contains (Enum.Value) in HQL?
Quindi diciamo che ho una classe Foo che sto persistendo in ibernazione. Esso contiene una serie di valori enum, in questo modo:
public class Foo
{
@CollectionOfElements
private Set<Bar> barSet = new HashSet<Bar>();
//getters and setters here ...
}
e
public enum Bar
{
A,
B
}
C'è una dichiarazione HQL posso usare per andare a prendere solo le istanze di Foo who'se Barset containst Bar.B?
List foos = session.createQuery("from Foo as foo " +
"where foo.barSet.contains.Bar.B").list();
Oppure sono bloccato a recuperare tutte le istanze di Foo e filtrarle a livello di 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);
}
Grazie!
Grazie. Darò uno scatto. – Seth
Questo non sembra funzionare ... puoi indicarmi un tutorial su come usare "member of"? – Seth