You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Scenario:
DB entity "Person" has a "many-to-many" assoziation "friends" which are
"Person".
How to search for persons which have a special friend X.
First I tried Filter.some("friends", Collection<X>) which results in
"**INVALID VALUE - NOT A FILTER: ..." .
I solved this by by doing something like
Filter.some("friends", Filter.in("id", Collection<X.id()>))
Original issue reported on code.google.com by c.dittbe...@digitec.de on 13 May 2009 at 1:46
The text was updated successfully, but these errors were encountered:
Are you saying that Filter.some("friends", Filter.in("id", Collection<X.id()>))
did
work successfully and gave you the results you wanted?
Also, what do you mean by the "Collection<...>" syntax?
I'm sorry that the usage is sort of confusing for these filters. Hopefully I
can get
some better examples up sometime. In the mean time, both of the following
options
should work for your case. If not, then there may be a bug in the framework.
Filter.some("friends", Filter.equal("", X);
Filter.some("friends", Filter.equal("id", X.getId());
There is also a blog entry that has some more examples: http://java-generic-
dao.blogspot.com/2008/12/search-capability-needs-to-be-able-to.html
Original comment by dwolvert on 13 May 2009 at 7:23
>Are you saying that Filter.some("friends", Filter.in("id",
Collection<X.id()>)) did
>work successfully and gave you the results you wanted?
Yes it does.
Collection<X.id()> is my shortcut of:
List<Integer> idList = new ArrayList<Integer>();
for (X x : getCollectionOfTypeX()) { idList.add(x.getId());}
search.addFilter(Filter.some("friends", Filter.in("id", idList))));
search.addFetch("friends")
this works well but is "ugly" code. I prefer the example of your blog entry:
Filter.some("friends", Filter.in("", collectionOfFriends))
I think it could be more distinguishable if you provide something like
Filter.in(Collection<?> collection).
BTW many thanks for this very helpfull framework.
Original comment by c.dittbe...@digitec.de on 14 May 2009 at 5:16
Original issue reported on code.google.com by
c.dittbe...@digitec.de
on 13 May 2009 at 1:46The text was updated successfully, but these errors were encountered: