次の HQL ステートメントでオブジェクトのリストを返そうとしています:
return getHibernateTemplate().findByNamedParam("Select distinct response.user
from Survey survey
inner join fetch survey.surveyDates surveyDate
inner join fetch surveyDate.responses response
where survey.id = :surveyId)", "surveyId", surveyId);
次のエラーは私を怒らせます:
HTTP ステータス 500 - クエリで結合フェッチが指定されましたが、フェッチされた関連付けの所有者が選択リストに存在しませんでした
そこで、コードに「fetch」という単語を入れずに試してみました。それから私の返すリストは空です。
アプリケーションは Doodle のようなもので、データベースは次のようになります。
Survey にはリスト surveyDates
があります SurveyDate には回答のリスト
があります Response には属性 user があります
私の仕事は次のとおりです。メソッドにはパラメーター surveyId があり、それに応答したすべてのユーザーを返します。したがって、調査 --> 調査日 --> 回答 --> ユーザー
私はあなたにとって非常に簡単だと思います.私はSQLが初めてで、Hibernateも初めてです!