Je suis un peu confus sur la façon de faire quelque chose en HQL.Collection.contains (Enum.Value) dans HQL?
Alors disons que j'ai un Foo de classe que je persiste en hibernation. Il contient un ensemble de valeurs ENUM, comme ceci:
public class Foo
{
@CollectionOfElements
private Set<Bar> barSet = new HashSet<Bar>();
//getters and setters here ...
}
et
public enum Bar
{
A,
B
}
Y at-il une déclaration HQL je peux utiliser pour récupérer uniquement les instances de Foo who'se Barset containst Bar.B? Ou suis-je bloqué en récupérant toutes les instances de Foo et en les filtrant au niveau 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);
}
Merci!
Merci. Je vais donner un coup de feu. – Seth
Cela ne semble pas fonctionner ... pouvez-vous me montrer un tutoriel sur la façon d'utiliser "membre de"? – Seth