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
}
내가 BarSet 나이 Bar.B을 containst who'se 만 푸 인스턴스를 가져 오는 데 사용할 수있는 HQL 문이 있습니까?
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
이것이 작동하지 않는 것 같습니다 ... "회원"을 사용하는 방법에 대한 자습서를 가르쳐 주시겠습니까? – Seth