You can do that, but will unnecessarily have to re-load the person data. So what you can do is from Person p left join fetch p.dogs where p.id in :personIds
with the list of ids that is returned by Application B. It would indeed be nice if there was a way to query collections directly e.g. from Person.dogs d where d.owner.id in :personIds
, but we currently don’t have that. You can follow Collection querying support · hibernate/hibernate-orm · Discussion #7068 · GitHub if you’re interested and report your use case there.