在我的hbm中,我有:
< set name="products" lazy="true" cascade="none" table="product">
<key>
<column name="PRODUCT_ID" not-null="true" />
</key>
<many-to-many column="SHOP_ID" class="Shop" />
</set>
带有条件查询:
Criteria criteria = createCriteria(getBusinessClass());
...
List list = criteria.setFetchMode("products", FetchMode.JOIN).list()
即使有fetchmode: JOIN ,hibernate仍然会触发单独的SQL查询来获取产品而不是作为连接!