I need to apply a post-query filter to my result set. Just a NOT IN xyz
and another one for IN xyz
. Otherwise, the select, from and where clause is almost identical for both queries. Trying to avoid 2nd db hit.
What's the best way to achieve this in Seam/JPA/Hibernate? I already read about Hibnerate Filters which is not supported in JPA 1.0 or 2.0 but that does not apply in this scenario b/c you apply the filter (session.setEnable()) prior to the query execution:
Session session = ...;
session.enableFilter("effectiveDate").setParameter("asOfDate", new Date());
List results = session.createQuery("from Employee as e where e.salary > :targetSalary")
.setLong("targetSalary", new Long(1000000))
.list();I need to filter in my Seam component after the List is populated.
What's the best practice for this? I can iterate through the entities in the list but that seems wierd, perhaps better to do the 2nd db hit?? thx.