题
我们有两个表和家庭成员,这两者之间的关系,家庭已设置在其会员,但会员不具备其中的任何亲属关系。
我想用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到标准虽然。
不隶属于 StackOverflow