我在通过休眠获得结果时遇到问题。
我有四个表SnsUser、Participant、Interaction、Content;SnsUser & Interaction 有many-2-many 关系,Interaction 和Content 有many-2-one。(SnsUser 和 Interation 在映射类中获得了 Set of Participant,hibernate 对 many-2-many 有效)
当我像运行 HQL
from SnsUser s join fetch s.participants p join fetch p.interaction i join fetch i.content c where s.blessUid=1
(返回列表(SnsUser)列表)
它给了我 10 行,每行(即 SnsUser)有 10 行作为参与者。
但是当我像 HQL 一样运行时
from Participant p join fetch p.snsUser s join fetch p.interaction i join fetch i.content c where s.blessUid=1
它给了我 10 行,我可以从中获取相关的 SnsUser。但是当我查看实际的 sql 查询时,两者都是相同的。为什么它的行为是这样的......?
答案将不胜感激。人