Предполагая, что вам нужно найти все экземпляры A, имеющие определенный идентификатор B
Criteria c = session.createCriteria(A.class, "a");
c.add(Restrictions.eq("a.b.id", theIdOfB);
return c.list();
Если бы вам пришлось искать по имени B, а не по идентификатору B, вам понадобится объединение:
Criteria c = session.createCriteria(A.class, "a");
c.createAlias("a.b", "b");
c.add(Restrictions.eq("b.name", theNameOfB);
return c.list();
Как всегда, все это объясняется примерами в справочной документации .