0

我试图只部分匹配一组,例如在我的 Product.hbm.xml 中,我有一个“recentOrders”,这意味着我只想要最新的订单(按“订单”的时间戳排序)

    <set cascade="all-delete-orphan" inverse="true" name="recentOrders" lazy="true"   >        
        <key on-delete="cascade">
            <column name="product_id" not-null="true"/>
        </key>
        <one-to-many class="com.xx.Order"/>
    </set>  

我应该使用“subselect”还是“where”的属性?如果是,如何?

顺便说一句,我使用的是hibernate 3.x,hibernate不会添加任何由“subselect”或“where”属性指定的sql子句

4

1 回答 1

0

这是一个很好的解释。如果只是一次需要,您可以在 HQL 查询本身中执行此操作。还有另一个选项 - 使用过滤器,请注意它们是为会话设置的,而不是为特定查询设置的。

于 2012-09-24T09:01:04.320 回答