0

我有一个标准来审查父对象列表

条件标准 = session.createCriteria(Parent.class,"parent")

但我需要对子对象列表添加限制,因为我不需要所有子对象

请帮忙

4

2 回答 2

1

不知道您要添加的限制的细节,看起来像这样用您自己的限制代替"yourRestriction".

在其当前形式中,这将在表的someColumn列中parent查找等于 String 的值"yourRestriction"

Criterion restriction = Restrictions.eq("parent.someColumn", "yourRestriction");
criteria.add(restriction);

更多信息:

编辑:创建对子集合的限制:

// Give the child collection an alias
criteria.createAlias("childCollectionNameInParentClass", "childCollectionAlias");

// Create the restriction on the child collection's column
Criterion restriction = Restrictions.eq("childCollectionAlias.someColumn", "someRestriction");
于 2013-11-06T17:42:55.667 回答
1

还有另一种方法可以做到这一点:

criteria.setFetchMode("someColumn", FetchMode.EAGER);//It is deprecated but it works fine
Criteria criteriaChildField = criteria
                    .createCriteria("someColumn");

criteriaChildField.add(Restrictions.eq("restrictionAttribut", YOUR_RESTRICTION));

希望这可以帮助。

于 2015-12-02T09:19:18.370 回答