At the moment in the IN clause you have to use Id values.
query.where().in("consultant.id", IdentifiableUtils.extractIds(consultants));
(IdentifiableUtils.extractIds returns List<Object>, reallyList<Integer> in my case)
I'd prefer this:
query.where().in("consultant", consultants);
Fixed in HEAD.
So for in() and eq() on both *ToOne and *ToMany you can put a bean or list of beans and Ebean will extract out the id values and use those.