我正在使用querydsl-apt 3.2.4和hibernate 3.5.5-Final版本,以下代码对我不起作用:
PathBuilder<Person> person = new PathBuilder<Person>(Person.class, "person");
BooleanExpression expression = person.getString("name").eq("Alan").and(person.instanceOf(Person.class));
HibernateQuery query = new HibernateQuery(HibernateUtil.currentSession());
query.from(person).where(expression));
query.list(person.getString("name"));
但是当我将表达式的值替换为:
时person.getString("name").eq("Alan").and(person.get("class").eq("F"));
由于“F”是Person的有效偏析器值,因此它可以完美地获得我在第一个blockquote中期望的结果。任何想法为什么第一个代码不起作用?