我们有两个表和家庭成员,这两者之间的关系,家庭已设置在其会员,但会员不具备其中的任何亲属关系。

我想用DOB和家人,我使用获取成员的Hibernate API标准的,但我没有得到如何写连接查询,因为成员没有家庭情况吧。所以不能够使用FetchMode。任何其他方式来实现这一目标?

先感谢。 - 拉维Nikam

有帮助吗?

解决方案 2

感谢你们,我与我的同事之一,因为在

解决了这个
DetachedCriteria subquery = DetachedCriteria
            .forClass(Family.class, "family")
            .add(Expression.eq("family.id", family.getId()));

                subquery.createAlias("members", "members")
                    .add(Restrictions.eqProperty("members.id", "m.id"))
                    .add(Expression.eq("members.DOB",Date));

                subquery.setProjection(Property.forName("members.id"));

                Criteria crit = session.createCriteria(Member.class, "m")
                        .add(Subqueries.propertyIn("m.id", subquery));


            results = crit.list();

结果具有成员我请求的列表。

其他提示

,而不是试图做

from Member m join m.family f where f.name = ?

这是不可能的,则可以做完全相反的

select m from Family f join f.members m where f.name = ?

我知道,这不是HQL的标准,但是这就是我更加流畅与。它应该是微不足道的“翻译”这个HQL到标准虽然。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top