我需要做一个搜索,这涉及到向下导航到子元素,然后返回到根/父元素。我如何使用Criteria API来做这样的事情?
举个例子,我有:
Criteria crit = getSessionFactory().getCurrentSession()
.createCriteria(TherapistImpl.class);现在,我需要转到User类来获取与用户关联的地址(一组地址):
crit.createCriteria("user")
.createCriteria("addresses")
.add(Restrictions.eq("postcode", postCode));但现在我已经做到了这一点,我需要返回以从父类TherapyImpl获取其他一对多关联。
crit.createCriteria("therapyProvisions")
.add(Restrictions.eq("type", searchByValueSelected));但hibernate认为这是指我们之前链接和创建的用户条件。
那么我要创建多个标准吗??有没有办法回到树上等等?
谢谢你的评论,保罗
发布于 2011-07-21 10:26:36
不是为user关联创建子Criteria,而是为其创建别名:
crit.createAlias("user", "userAlias");
crit.add(Restrictions.eq("userAlias.addresses.postcode", postCode);(您可能需要为addresses创建子别名。)
然后,对therapyProvisions执行相同的操作
crit.createAlias("therapyProvisions", "therapyProvisionsAlias");
crit.add(Restrictions.eq("therapyProvisionsAlias.type", searchByValueSelected);现在,您将拥有所有的内部连接。
https://stackoverflow.com/questions/6755832
复制相似问题