2013-06-22 162 views
0

我有以下實體:休眠返回多個外部實體

  • 調查
  • 響應
  • ResponseQuestion
  • 問題

調查與迴應一到一對一的關聯。 響應有一個與ResponseQuestion一對多關聯,具有許多-to-one關聯迴響應和許多-to-one關聯的問題

我使用下面的查詢:

select r from Response r join fetch r.responseQuestion rq join fetch rq.question where r.survey.id = :survey_id 

獲取對應於調查的響應。我期待在外層有一個Response實體,它有一個5個ResponseQuestion實體的列表。然而,我回來的是5個Response對象的列表,每個Response對象有5個ResponseQuestion對象。

我不知道爲什麼我在外面得到5個對象,所有這些對象都指向內存中的同一個對象。 Response表中只有一行。 ResponseQuestion表中的5行(全部映射到一個響應)

任何人都可以解釋我在做什麼錯?

回答

1

使用截然不同,它應該解決您的問題。

選擇從響應R不同 R連接取r.responseQuestion RQ加入取rq.question其中r.survey.id =:survey_id

+0

簡單的解決方案。不知道我是如何錯過它的。謝謝! –