我有以下实体:
- 民意调查
- 回复
- 回应问题
- 问题
调查与响应具有一对一的关联。Response 与 ResponseQuestion 具有一对多关联,后者与 Response 具有多对一关联,与 Question 具有多对一关联
我正在使用以下查询:
select r from Response r join fetch r.responseQuestion rq join fetch rq.question where r.survey.id = :survey_id
获取与调查相对应的响应。我期望外层有一个响应实体,它有一个包含 5 个 ResponseQuestion 实体的列表。但是,我得到的是一个包含 5 个 Response 对象的列表,每个对象都有 5 个 ResponseQuestion 对象。
我不确定为什么我在外面有 5 个对象,所有这些都指向内存中的同一个对象。响应表中只有 1 行。ResponseQuestion 表中的 5 行(全部映射到一个 Response)
谁能解释我做错了什么?