我有一个审查父对象列表的标准
标准条件= session.createCriteria(Parent.class,“parent”)
但我需要在子对象列表中添加限制,因为 我不需要所有的子对象
请帮忙
答案 0 :(得分:1)
不知道您想要添加的限制的具体细节,它将在您自己的"yourRestriction"
限制中替代。
在当前形式中,这将在someColumn
表的parent
列中查找等于字符串"yourRestriction"
的值。
Criterion restriction = Restrictions.eq("parent.someColumn", "yourRestriction");
criteria.add(restriction);
更多信息:
Restrictions
类型gt
(大于)和ge
(大于或等于)编辑:对子集合创建限制:
// 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");
答案 1 :(得分: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));
希望这有帮助。