我正在考虑升级我的hibernate以使用JPA criteriaQuery:-(并且需要找到一种在JPA中实现别名的方法,例如:
@Entity
public class MyClass {
....
@ManyToOne(..)
public MyDetail getMyDetail() {
return myDetail;
}
}
Criteria criteria = session.createCriteria(MyClass.class);
....
criteria.createAlias("myDetail", "md");
criteria.add(Restrictions.eq("md.active", true));
我已经浏览了hibernate文档,但是它们似乎只涵盖了一些微不足道的例子,而忽略了hibernate的特定功能。
欢呼格雷格
您可以在entityRoot上创建JPA CriteriaQuery的别名
Root<A> entityRoot = criteriaQuery.from(A);
entityRoot.join("b", JoinType.LEFT).alias("b");