<hibernate-mapping package="com.test.info">
<class name="LevelInfo">
<composite-id>
<key-property column="ID" name="id"/>
</composite-id>
<property column="NAME" name="name"/>
<property column="DESC" name="desc"/>
<bag name="details" cascade="all" order-by="ID" >
<key column="ID"/>
<one-to-many class="DeatilInfo"/>
<loader query-ref="includedDetailsSql"/>
</bag>
</class>
<sql-query name="includedDetailsSql" >
<load-collection alias="details" role="LevelInfo.details"/>
SELECT {details.*} FROM
DETAILS_TEMP detail
WHERE detail.ID = ?
AND detail.CODE=:myParam
</sql-query>
</hibernate-mapping>
问题是我想传递参数,即myParam来过滤集合加载sql中的记录。 Hibernate在上面的查询中传递了外键ID,但我找不到动态传递此查询中任何其他参数的方法。
此外,我还想在可以动态设置的字段上对集合元素进行排序。那么有没有办法动态地在 bag 映射中通过属性值设置 order。