Hibernate标准API

Hibernate标准API,hibernate,api,search,criteria,Hibernate,Api,Search,Criteria,我需要做一个搜索,它包括向下导航到子元素,然后返回到根/父元素。我如何使用CriteriaAPI做这样的事情 例如,我有: Criteria crit = getSessionFactory().getCurrentSession() .createCriteria(TherapistImpl.class); 现在我需要转到User类以获取与用户关联的地址(一组地址): 但现在我已经做到了,我需要回到上一步,从父类治疗中获得另一个到多个关联,例如 crit.createCriteria

我需要做一个搜索,它包括向下导航到子元素,然后返回到根/父元素。我如何使用CriteriaAPI做这样的事情

例如,我有:

Criteria crit = getSessionFactory().getCurrentSession()
    .createCriteria(TherapistImpl.class);
现在我需要转到User类以获取与用户关联的地址(一组地址):

但现在我已经做到了,我需要回到上一步,从父类治疗中获得另一个到多个关联,例如

crit.createCriteria("therapyProvisions")
    .add(Restrictions.eq("type", searchByValueSelected));
但是hibernate认为这是指我们之前链接和创建的用户标准

那么我要创建多个标准吗??有没有办法导航到树上等

谢谢你的评论
Paul

与其为
用户
关联创建子
标准
,不如为其创建别名:

crit.createAlias("user", "userAlias");
crit.add(Restrictions.eq("userAlias.addresses.postcode", postCode);
(您可能需要为
地址
创建子别名)

然后,对
治疗方案执行相同操作

crit.createAlias("therapyProvisions", "therapyProvisionsAlias");
crit.add(Restrictions.eq("therapyProvisionsAlias.type", searchByValueSelected);
现在,四周都有内部连接

crit.createAlias("therapyProvisions", "therapyProvisionsAlias");
crit.add(Restrictions.eq("therapyProvisionsAlias.type", searchByValueSelected);