Hibernate criteriaQuery createAlias等价

时间:2016-10-28 11:51:13

标签: hibernate jpa createcriteria

我正在考虑升级我的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特定的功能。

干杯格雷格

1 个答案:

答案 0 :(得分:0)

您可以在entityRoot上的JPA CriteriaQuery中创建别名

Root<A> entityRoot = criteriaQuery.from(A);
entityRoot.join("b", JoinType.LEFT).alias("b");