[英]Hibernate Criteria. Join / Select when no Assosiation
我正在使用Hibernate 4.2版
我有2個實體。
@Entity
public class A {
Long Id;
@ManyToOne
B b;
}
@Entity
public class B {
Long Id;
//There is no relation back here with any annotations to A, and can't add a @OneToMany
}
是否可以使用休眠條件進行查詢以獲取如下所示的結果。
List<Map<B,List<A>>>
與聯接或選擇無關緊要。
示例我想要的結果:
A.id B.id
1 1,2,3,4
2
3 5
4 7
5
// Trind
您可以使用類似下面的內容。 我不知道這是否是您的實際要求。 假設B b是OneToOne,12是B的ID,
Criteria c = session.createCriteria(A.class, "a");
c.createAlias("a.b", "b");
c.add(Restrictions.eq("a.b.Id", "12"));
return c.list();
這將返回一個數組列表,通過使用這些數組,您可以形成所需的數組。
我從克里斯蒂安·鮑爾(Christian Bauer)那里得到了幫助,他已經將《冬眠寫在行動》中。
來自休眠的條件:
List<Object[]> result =
session.createCriteria(A.class, "a")
.createAlias("b", "i", JoinType.RIGHT_OUTER_JOIN)
.setResultTransformer(PassThroughResultTransformer.INSTANCE)
.list();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.