簡體   English   中英

休眠標准。 加入/無關聯時選擇

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM