使用hibernate条件创建查询

时间:2013-07-24 10:50:31

标签: hibernate hibernate-criteria

我有课程:A,B和C

A{
B b;
}

B{
C c
}

C{
String str;
}

在ADao课程中,我想执行以下查询:

Criteria criteria = createCriteria(A.class);
criteria.add(Expression.eq("b.c.str", str));
criteria.setFetchMode("b", FetchMode.EAGER);
criteria.setFetchMode("b.c", FetchMode.EAGER);

当我执行此查询时,我得到:

  

QueryException:无法解析属性b.c.str

1 个答案:

答案 0 :(得分:0)

根据the documentation中的解释,你需要使用子标准或别名进行显式连接:

Criteria criteria = createCriteria(A.class, "a");
criteria.createAlias("a.b", "b");
criteria.createAlias("b.c", "c");
criteria.add(Expression.eq("c.str", str));