For the record, I managed to do this in HQL by filtering on the subclass first ("ForeignUser") and then joining back to the "Group" class using an outer-join (aka "theta-style join" or "cartesian product").
Less effective since it requires 3 tables to do the join (where only 2 should be needed).
The HQL that returns the wanted results looks like :
Code:
select fUser
from ForeignUser fUser,
Group group
join group.users user
where group.id=:group_id
and fUser.id=user.id
and fUser.country=:country
As of now, the Criteria API doesn't support outer joins.
Cédric