2012-07-25 70 views
0

我有三個表如何從Hibernate中檢索具有多對多關係的記錄?

Users       Deal    Dealusers 
==========      ======    ========== 
userid(PK)      dealid(PK)   dealid(PK+FK) 
                userid(PK+FK) 

現在我有使用Hibernate工具在Eclipse 所以我就爲用戶& Deal表POJO類& HBM文件只因爲這個多對多的關係產生映射。

現在我要查詢「得到誰購買dealid用戶列表= 1」

所以,我如何把這個使用Hibernate查詢? 在此先感謝。

<set name="userses" table="dealusers" inverse="false" lazy="true" fetch="select"> 
      <key> 
       <column name="dealid" not-null="true" /> 
      </key> 
      <many-to-many entity-name="com.test.model.Users"> 
       <column name="userid" not-null="true" /> 
      </many-to-many> 
     </set> 

回答

0
Deal deal = session.get(Deal.class, 1); 
return deal.getUsers(); 

那樣簡單。

+0

對不起,但我沒有用戶對象在生成的HBM文件,而不是它包含 私人設置 userses = new HashSet (0); – JMoh 2012-07-25 09:23:44

+0

上面的用戶集合很小,是你想要返回的集合。 – 2012-07-25 09:30:43

+0

是的,但它的延遲加載,所以我應該如何初始化它 – JMoh 2012-07-25 10:39:58

相關問題