下午好。学习Hibernate,有必要使用条件编写以下查询。有两个实体 - 水果店和通信类型 - 许多人。因此,我们实际上有三个表(以及相应的Java类):Fruit(id,name),Shop(id,name)和ShopFruit(shop_id,fruit_id)。那么,就像获得一个销售商店名单的标准一样,比如橘子?提前谢谢。
答案 0 :(得分:0)
我认为你可以使用这样的别名:
List questions = session.createCriteria(Shop.class)
.createAlias("Fruits", "f")
.add(Restrictions.eq("f.name", "tangerine"))
.list();
另见this question。但是,我认为您也可以使用Hibernate Mapping for 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
变量应该让所有商店都出售它。