エンティティB(エンティティAをフィールドとして持つ)のサブクエリを使用して、エンティティAの基準を作成する必要があります。キャッシュ ミスを回避するには、ID ベースのクエリを拒否する必要があります。
それは疑似コードの例です
DetachedCriteria criteriaA = (criteria for A)....
DetachedCriteria bCriteria = DetachedCriteria.forClass(B.class);
bCriteria.add(Restrictions.eq(".....));
bCriteria.add(Restrictions.ge(....));
bCriteria.setProjection(Projections.property("A"));
Criterion criterion = Subqueries.in("A entity", bCriteria);//here i want to refer to entity A
criteriaA.add(criterion);