Я думаю, вы можете использовать псевдоним, например, так:
List questions = session.createCriteria(Shop.class)
.createAlias("Fruits", "f")
.add(Restrictions.eq("f.name", "tangerine"))
.list();
См. Также этот вопрос .Однако, я думаю, вы также можете решить эту проблему с помощью набора в отображении Hibernate для Fruit:
<set name="stores" table="ShopFruit" cascade="all">
<key column="fruit_id" />
<many-to-many column="store_id" />
</set>
Расширяет ваш класс Fruit набором магазинов:
class Fruit {
...
Set<Store> stores;
...
}
Если вы загружаетеобъект «tangerine» Fruit из базы данных, переменная stores
должна иметь все магазины, продающие его.