"in (a.embed1s) e where e.name1 like '%1' and a.embed1s IS NOT EMPTY and " +
" e.b IS NOT NULL order by e";
CriteriaQuery<?> q = cb.createQuery();
Root<EntityA_Coll_Embed_ToOne> a = q.from(EntityA_Coll_Embed_ToOne.class);
Join<EntityA_Coll_Embed_ToOne, Embed_ToOne> e = a.join(EntityA_Coll_Embed_ToOne_.embed1s);
Predicate p1 = cb.like(e.get(Embed_ToOne_.name1), "%1");
Predicate p2 = cb.isEmpty(a.get(EntityA_Coll_Embed_ToOne_.embed1s)).not();
Predicate p3 = cb.isNotNull(e.get(Embed_ToOne_.b));
q.where(cb.and(cb.and(p1, p2), p3));
q.orderBy(cb.asc(e));
q.multiselect(e, e.get(Embed_ToOne_.b).get(EntityB1_.id));
assertEquivalence(q, jpql);