【发布时间】:2012-10-29 00:16:56
【问题描述】:
我正在尝试使用以下 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”这个词。然后我的返回列表是空的。
应用程序就像涂鸦,数据库看起来像这样:
Survey 有一个列表surveyDates
SurveyDate 有一个回复列表
响应有一个属性 user
我的任务是:该方法有一个参数surveyId 并返回所有响应它的用户。所以我们要一直往下走Survey-->surveyDates-->responses-->user
我想这对你来说很容易,我是 SQL 新手,甚至是 Hibernate 新手!
【问题讨论】:
标签: hibernate hql fetch lazy-evaluation eager