Estoy un poco confundido acerca de cómo hacer algo en HQL.Collection.contains (Enum.Value) en HQL?
Digamos que tengo una clase Foo que persisto en Hibernate. Contiene un conjunto de valores de enumeración, así:
public class Foo
{
@CollectionOfElements
private Set<Bar> barSet = new HashSet<Bar>();
//getters and setters here ...
}
y
public enum Bar
{
A,
B
}
¿Hay una declaración HQL que puedo usar para traer los únicos casos Foo Who'se Barset containst Bar.B?
List foos = session.createQuery("from Foo as foo " +
"where foo.barSet.contains.Bar.B").list();
¿O estoy atascado buscando todas las instancias de Foo y filtrándolas en el nivel 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);
}
Gracias!
Gracias. Voy a dar una oportunidad. – Seth
Esto no parece estar funcionando ... ¿me puede indicar un tutorial sobre cómo usar "miembro de"? – Seth