Hibernate criteriaQuery createAlias等效
我正在考虑升级我的hibernate以使用JPA criteriaQuery:-(并且需要找到一种在JPA中实现别名的方法,例如:Hibernate criteriaQuery createAlias等效,hibernate,jpa,createcriteria,Hibernate,Jpa,Createcriteria,我正在考虑升级我的hibernate以使用JPA criteriaQuery:-(并且需要找到一种在JPA中实现别名的方法,例如: @Entity public class MyClass { .... @ManyToOne(..) public MyDetail getMyDetail() { return myDetail; } } Criteria criteria = session.createCriteria(MyClass.class); .... criteria.cre
@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特定的功能
干杯Greg您可以在entityRoot上的JPA CriteriaQuery中创建别名
Root<A> entityRoot = criteriaQuery.from(A);
entityRoot.join("b", JoinType.LEFT).alias("b");
Root entityRoot=criteriaQuery.from(A);
entityRoot.join(“b”,JoinType.LEFT).别名(“b”);
您可以在EntityRot上的JPA CriteriaQuery中创建别名
Root<A> entityRoot = criteriaQuery.from(A);
entityRoot.join("b", JoinType.LEFT).alias("b");
Root entityRoot=criteriaQuery.from(A);
entityRoot.join(“b”,JoinType.LEFT).别名(“b”);
任何基本的JPA文档都会告诉你这一点。连接在MyDetail类的@ManyToOne中,也许我需要为查询创建另一个连接?如果你需要引用候选对象以外的内容,那么是的,你需要连接…@ManyToOne样式的隐式连接将不受支持。我使用createAlias加载了一次又一次的查询:-(任何基本的JPA文档都会告诉你这一点。连接在MyDetail类的@ManyToOne中,也许我需要为查询创建另一个连接?如果你需要引用候选对象以外的内容,那么是的,你需要连接…@ManyToOne样式的隐式连接将不受支持。我使用createAlias加载了一次又一次的查询:-(这对很多人都没有帮助。别名
返回一个奇怪的选择
,不清楚如何使用。你应该提供一个更具体的例子,说明如何实际使用选择
。这对很多人都没有帮助。别名
返回一个奇怪的选择
,不清楚如何使用。您应该提供一个更具体的示例,说明如何实际使用选择。